监控端添加脚本:
vim /usr/local/zabbix/tcp_connection_status.sh
#!/bin/bash
#this script is used to get tcp and udp connetion status
#tcp status
metric=$1
tmp_file=/tmp/tcp_status.txt
/bin/netstat -an|grep 8081|awk '/^tcp
awk模式:
awk [options] ‘Pattern {Action}’ file1 file2
options 使用-F选项,或者-v选项配合使用
Action print和pinrf
Pattern BEGIN模式和END模式,条件模式
举例:
去除第二列含有123或456字段的整行数据
命令:
awk '$2==123 {printf $0}' 1.txt
awk '$2==456 {prin
定时任务,一般默认启动
service crond restart //启动crond服务
chkconfig crond on //开机启动,默认开机启动
ps aux|grep crond //检查crond是否启动
编辑命令:
crontab -e //编辑定时任务
crontab -l //查看定时任务
crontab -r
awk格式化
把1.txt文件中第一列和第二列按照格式化输出,\t是制表符
命令:
awk '{printf "%s %s\n" ,$1,$2}' 1.txt
awk '{printf "第一列:%s 第二列:%s\n" ,$1,$2}' 1.txt
awk '{printf "第一列:%s\t 第二列:%s\n" ,$1,$2}' 1.txt
图示:
注意使用printf动作:
1.使用printf动作
[1].格式替换符,"%s\n"表示每一个传入的参数,替换原来格式,printf输出的格式111\n 222\n 333\n,
“%s”表示自动将传入的参数转化字符串
[2].“%f” 表示自动将传入的数字转化浮点数,如果修饰符合带有小数点,则数字修饰符小数点后的数字表示小数精度
“%d” “%i” 十进制整数,如果数字修饰符带有小数点,则数字修饰符小数点后的数字表示整数长度,长度不够,用0补全
\n 换行
\b 后退
\f
akw变量:内置变量
一、内置变量
1.)内置变量NR
2.)内置变量FNR
3.)内置变量RS
4.)内置变量ORS
5.)内置变量FILENAME
6.)内置变量ARGV和ARGC
二、自定义变量
1.)-v varname=value 变量名区分大小写
2.)在project中直接定义
3.)awk在shell中常使用方法
一、内置变量
1.)内置变量NR
NR表示每一行的行号,NF表示每一行对应
每日反思,少说多干
每天总结自己做了多少实际意义工作,有效沟通,花了多少时间提升自己的技能,提升学习的进度
遇到沟通问题,先反思自己有哪些不足,站在对方角度考虑这个问题,尝试寻找双赢的方法
成功之路,不是和别人竞争,而是和自己战斗,贵在坚持,不断总结朝目标前进,有时成功在于你的坚持
说话技巧
人生再难,生活再苦,也解决不了问题,重整心情,重新出发
人生苦短,诚实生活,多做实事,真诚待人
人要有自知之明,脚踏实地做事
awk分隔符:输入分隔符和输出分隔符
输入分隔符field separator(FS)
输入分隔符默认是空白分隔符,awk是以空白分隔符作为分隔符对每一行进行分割
如果文字中没有空格,用指定的文字或符号进行分割
使用-F选项,指定#分隔符进行分割,也可以使用内置变量进行分割,指定变量-v FS='#'
输出分隔符output field separator(OFS)
awk将每行分割后,输出屏幕显示用分隔符隔
AWK配置一
awk是一种编程脚本语言,支持条件判断、数组、循环功能
awk语法:awk [options] ‘Pattern{Action}’
file 常见的Action:print
1.)使用awk打印文本内容
2.)使用awk取出对应的列
3.) awk定义和对应列输出
4.) AWK的特殊模式:BEGIN和END
1.)使用awk打印文本内容:
2.)使用awk取出对应的列:
awk
一个人,首先要有健康的身体,才有能力做更多想做的事,追逐自己的梦想。
道理大家都知道,真正落实的有多少人呢?不要等出现不可逆转的伤害时候才发现,这时候哪怕你腰缠万贯,也弥补不了心中遗憾。
从现在开始,要注意饮食搭配,注意作息规律,劳逸结合,少生气,多运动。
生活中的人和事,错过就错过了,不要一直纠结于过去,而是要总结问题,把握以后的机会。
其实不是每件事都是预料之中,也不是每件事都是那么的完美,有规划,有自律去实践,就已经跨出这个门槛,尽自己最大努力把事情做好,
安装命令
virt-install -n win183 -r 16384 --vcpus=8 --cdrom=/data/cn_windows_server_2012_x64_dvd_915588.iso --virt-type=kvm --disk path=/data/virtio-win-0.1-59.iso,device=cdrom --disk path=/kvm/win183.img,size=300,bus=virtio --accelerate --vnc --vnc
1.cpu压力测试
cat /dev/urandom | md5sum
2.内存测试
http://pyropus.ca/software/memtester/
./memtester 1G 5
./memtester [-d device] <mem>[B|K|M|G] [loops]
3.利用dd对IO测试
time dd if=/dev/zero of=test bs=1M count=4096
需要启动的进程有:nginx、php-fpm、mysql。
再次确认下lnmp环境有没有安装成功,没安装成功需要再返回看lnmp源码安装教程。
http://192.168.1.106/test.php #测试php是否安装成功
http://192.168.1.106/test_mysql.php#测试php连接mysql是否安装成功
1: 下载路径
https://cn.wordpress.org/txt-down
1: linux snmpd安装:
yum install -y net-snmp net-snmp-utils
2: snmp的配置(vim /etc/snmp/snmpd.conf):
com2sec notConfigUser default snmp_passwd
group notConfigGroup v1 notConfigUser
group notConfigGroup v2
grafana 读取zabbix接口的数据进行展现,图表比较漂亮。
下载地址:
http://docs.grafana.org/installation/rpm/
https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.5.2-1.x86_64.rpm
1: 安装
yum -y install initscripts fontcon
1: 数据库给只读权限,讲解global status
1.1 grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
flush privileges;
select User,host from user;
show grants for zabbix@'127.0.0.1';
1.2 mysql -uzabbix -pzabbix -h 127.0.0
如果没有zabbix的jmx封装的话,自己来写自定义脚本监控tomcat也是可以的,只是很麻烦。通过zabbix的jmx,监控tomcat就变得很简单。
1: zabbix java gateway编译参数如下:
java环境安装:
yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel -y
要使用java gateway需要在源码安装zabbix的时候,在./configure的时候
1: 使用企业微信告警,地址如下:
https://work.weixin.qq.com/wework_admin/frame
没有企业微信需要注册:https://work.weixin.qq.com/
2: 主要是用获取的token去发送微信消息
利用企业id和企业secret去获取tocken,利用获取到的tocken来发送微信消息
3: 具体的python脚本实现如下
#!/usr/bin/python
1: zabbix server和zabbix agent(windows)的地址说明
zabbix server的ip为:192.168.1.106
zabbix agent的ip为:192.168.1.102
2: 下载zabbix agent(windows)
http://www.zabbix.com/download(下载链接:http://www.zabbix.com/downloads/3.0.4/zabbix_agents_3
监控nginx,主要讲解监控并发数:
1: nginx编译参数:
--prefix=/usr/local/nginx --with-http_stub_status_module
zabbix编译参数的查看:
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GC
以监控百度接口为例子:
www.baidu.com1: 打开
2: 过滤ss0.bdstatic.com
3: 选择两个url进行监控
https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/mancard/css/card_min_dee38e45.css
https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo_top
启动redis-server
cd /data/redis
redis-server redis.conf (根据自己的环境启动redis)
测试脚本(写入1000个数据):
seq 1000|while read line; do redis-cli set key_${line} value_${line}; done
1: redis-cli info查看redis的运行信息
used_memory_rss
内存
vm.memory.size[available] 系统中已用内存量 整形(byte) 60 7 365
vm.memory.size[total] 系统总共内存量
swap空间 swap pfree(百分比)
system.swap.size[,pfree] Float型
CPU
system.cpu.util[,user] 类似于对应系统中top命令查看CPU显示值 60 7 365
1: 检测机器存活
监控端口 Check Port 10050
net.tcp.service.perf[tcp,,10050] Float型 返回0代表端口挂了
zabbix fping要开启sudo权限之类比较不方便。
2: 监控cpu负载
2.1 监控load cpu load avg1
system.cpu.load[all,avg1] Float型
system.cpu.load[a
1: 添加监控的主机
1.1 通过 配置 -> 主机 -> 创建主机
1.2 必需要输入 主机名称、群组、ip地址
1.3 添加克隆添加总共www组两台、news组两台
2: 简单检查的项目添加
添加一个监控web服务器81端口的监控(为了测试nginx开一个81端口监听)
2.1 通过 配置 -> 主机 -> 找到对应的主机点击监控项 -> 创建监控项
2.2 必须输入 名称、选择类型、
nginx mysql 先独立安装
php最后安装,编译的参数和nginx、mysql有关系
安装nginx,先安装nginx的依赖
yum -y install gcc gcc-c++ make tar pcre pcre-devel zlib zlib-devel openssl openssl-devel
1>.环境探测 ./configure 指定参数
./configure --prefix=/usr/local/nginx --w
SNMP监控一些常用OID的总结
系统参数(1.3.6.1.2.1.1)
OID
描述
备注
请求方式
.1.3.6.1.2.1.1.1.0
获取系统基本信息
SysDesc
GET
.1.3.6.1.2.1.1.3.0
监控时间
sysUptime
GET
.1.3.6.1.2.1.1.4.0
系统联系人
sysContact
GET
1.nginx安装包下载:http://nginx.org/en/download.html
2.mysql安装包下载:https://dev.mysql.com/downloads/mysql/
3.php安装包下载:http://php.net/downloads.php
4.zabbix安装包下载:https://www.zabbix.com/download
5.grafana_zabbix安装包下载:http://docs.grafana.org/install
使用Kubernetes部署一个multitiered application
Kubernetes概念
将一个Atomic Host配置成为Kubernetes master,一个配置为Kubernetes node
通过编写和部署YAML配置文件创建Kubernetes pods和services
在RHEL Atomic Host中配置Kubernetes
创建Kubernetes Pods和Services
Kubernetes概
atomic run rhel7:db 自动读取信息
使用Kubernetes部署一个multitiered application
Kubernetes概念
将一个Atomic Host配置成为Kubernetes master,一个配置为Kubernetes node
通过编写和部署YAML配置文件创建Kubernetes pods和services
在RHEL Atomic Host中配置Kubernetes
创建Kubern
部署一个私有的container image registry
部署私有image registry
将Image上传私有image registry
从私有image registry中下载image
P72:Deploying a Private Container Image Registry
使用container部署一个multitiered应用
在single container中部署一个multitiered应用
运行的image保存镜像
docker run -it -v /usr/sbin:/usr/bin rhel7:20170528 /bin/bash
vi issue
docker commit 75c rhel7:togogo
docker save rhel7:togogo >/tmp/rhel7togogo.tar
P48 Creating a Container Image That Implements a Service
下载、部署、定制和保存container image
目标:
从RHN获得RHEL container image
在RHEL Atomic Host上运行和管理一个简单的container
从image Regsitry 下载一个Container image
查看本地的image列表
为image创建alias
将本地Image用tar进行打包
创建一个提供莫以Service 的Container Image
docker search -s 1 fedora 搜索镜像
docker pull fedora 使用docker pull命令将image下载到本地RHEL Atomic Host中
docker load -i fedora-21-20151217.tar.gz docker load将本地image
docker save registry.access.redhat.com/rhel7:latest>/tmp/rhel7.tar
doc
rht-clearcourse 0
rht-setcourse rh270
rht-vmctl start classroom
RH270是使用RHEL Atomic Host (运行容器虚拟机)
docker格式容器镜像和Kubernetes管理“容器化应用”
Kubernetes将被用来部署一个跨Atomic Host节点的multitiered应用
目标:
1.安装RHEL Atomic
2.管理容器
1.Creating Volumes
node A nodeB trusted storage pool
lv1 lv2 lv3 lv4
brick1 brick2 brick3 brick4
volume
client native nfs samba mount
volume的类型
RHGS以三种方式将bricks合并成为volume:Distributed
准备nodes
安装完成Red Hat Gluster Storage
配置Trusted Storage Pool
当所有的服务器准备完毕,可以使用gluster peer probe<server>命令将其关联起来
ssh root@servera.lab.example.com
ssh root@serverb.lab.example.com
gluster peer probe servera 从池中加入servera服务器
rht-clearcourse 0
rht-setcourse rh236
rht-vmctl start classroom
rht-vmctl start workstation
Gluster存储的特性和架构
Gluster Storage 提供一个开放的,软件定义的存储解决方案,可以为物理、虚拟、云资源
提供持续的存储平台
基于Red Hat Enterprise Linux GlusterFS ,红帽Glus
rht-setcourse cl220
rht-vmctl start classroom
rht-setup-cfmepxe pxe 菜单重置
rht-vmctl start rhevm
桥接模式
kiosk环境配置
su -
Asimov 登陆密码
yum install spice-xpi 查看rhev虚拟机运行情况
cd /home/kiosk/Desktop/CL
Dashboards 控制面板
Drift Reporting 差异报告
创建dashboard
Cloud Intelligenc--->Reports-->Dashboards
P132:Exploring Dashboards
Configure--->Access Control 创建用户
创建Reports--->Queue
手动创建报告:Cloud Intelligence--->Reports--
创建控制策略:管理员使用控制策略,在系统发生特定事件时执行特定的操作
每一个策略由三个部分组成:
Event:某一个CloudForms事件激发policy
Condition:用以测试将来的操作是否会被激发
Action:当条件满足(或不满足),执行操作步骤
定义一个控制策略
2.event--->4.action
1.control policy 3.condition
5.policy profile
开机
1.start rhevm host1
2.firefox rhevm--rhevm.pod0.example.com(admin/redhat)--->active host1
3.strart cfme_vm
关机
1.poweroff cfme_vm--->login--->15
2.poweroff all others Vms
3.host1--->maintainance(维护模式)
Adding a provider
provider是总管所有虚拟机的服务器
CloudForms 中的Cloud和infrastructure engine管理provider
infrastructure provider 为传统虚拟化架构的管理软件,如rhevm,vcenter
ssh root@rhevm.pod0.example.com
yum install rhevm-reports -y cloudforms收集信息
CloudForms Management Engine 简称CFME
redhat enterprise virtualation 简称rhev
rhtops openstack
openshift platform 简称osp
Appliance时红帽提供预先配置好的虚拟机,OVF格式封装
Appliance虚拟机可以配各种虚拟平台支持,RHEV
Appliance支持SSL网络通信
CFME Applian
练习前8章 6H
rht-setcourse cl220
rht-vmctl start classroom
rht-setup-cfmepxe pxe 菜单重置
rht-vmctl start rhevm
桥接模式
su -
Asimov 登陆密码
yum install spice-xpi
cd /home/kiosk/Desktop/CL220/
rpm -ivh flash
RabbitMQ
KeyStone
Swift
Glance
Cinder
Neutron
Nova
Ceilometer
H
Chapter5 Managing the Keystone Identity Service
source keystonerc_user1
keystone token-get
keystone user-list
总目标:管理Keystone Identity Service并进行排错
目标:
• 检查Keystone Identity Service
• 使用keystone命令进行用户管理
• 对Keyston
rht-clearcourse 0
rht-setcourse cl210
rht-vmctl start classroom
rht-vmctl start servera | all
cat /etc/rht
ovs-vsctl show
安装和配置OpenStack
消息代理(RabbitMQ)、身份服务(Keystone)、对象存储服务(Swift)
映像服务(Glance)、快存储服务(Ci
第一题: install and
configure Docker
install and
configure Docker on your master and node systems according to the following
conditions:
1 Apply all
the latest available updates.
2 Configure
Docker to use the pre-existing volume gro
OpenShift 架构概览:
RHEL提供基础操作系统
Docker提供基础容器管理API和容器镜像文件格式
Kubernetes是管理运行容器的主机集群,templates定义了多容器应用的resources,以及如何通信
Docker时候OSE的core,则Kubernetes是OSE持续运行的heart
Etcd存储键值对,Kubernetes用以存储容器和资源的配置和状态信息
OpenShift pr
容器的概念
以容器的方式运行应用
容器操作系统中的进程以相互隔离的方式运行(Linux kernel namespaces)
cgroups:限制cpu,RAM,虚拟内存,I/O带宽
capabilities:提供局部管理功能
SElinux
容器镜像:
容器进行是一个文件系统镜像,用以创建和启动容器
文件系统包含应用进程、依赖:共享库;OS用户命令和运行的服务
通过封装机制(docker),将应用
1.Platform as a Service(PaaS)介绍:
PaaS提供Continuous Integration(CI)---持续集成和Continous Delivery(CD)的能力---持续迭代
IaaS平台:开发者和管理员需要关系操作系统的安装和配置,各种运行的组件安装,需要关注升级和安全,与真实的物理服务器和虚拟机类似。
SaaS平台:用户不对软件进行任何配置。只是运行提供的应用,且应用根据用户的不通,提供不同的权限,提供不同的访问权限
12月6日上午9:30
systemctl stop NetworkManager 在6.0系统下怎么操作
在inter,还是在example.com域下面做题
servera 安装rhev Hypervisor 7.1
Network
servera.pod0.example.com
DNS:172.25.254.254
NTP:172.25.254.254
eth0
172.25.0.10
yum install rhevm rhevm-reports rhevm-dwh
engine-setup --help
engine-setup --generate-answer=/root/answer.txt
yum install rhevm rhevm-reports rhevm-dwh
engine-setup --help
rhevm.pod0.example.com
service ovirt-engin restart
Asimov
yum install spice-xpi 浏览器插件
service ntpd stop
ntpdate classroom.example.com
hwclock -w
cat /etc/rht
rht-clearcourse 0
rht-setcourse do280
rht-setcourse rh318
rht-vmctl start classroom
rht-vmctl reset all
rht-config-rhevbested
nested kvm
hypervisor是管理和支持虚拟化环境的软件,可为每个虚拟化操作系统运行虚拟机,
从而
返回顶部