赞
踩
目录
zabbix/nagios + cacti/Prometheus(普罗米修斯)
- 安装软件(统一环境:LA(Apache)MP、LNMP)yum一键安装LAMP
- Apache(西方)nginx(俄罗斯)
- zabbix 3.0 LTS (长期支持版本)
- zabbix常规使用
- 监控Linux服务器
- 自定义监控
- 监控报警
- 分布式监控
- 。。。。
zabbix 10.0.0.71 172.16.1.71
第一步:准备新的zabbix机器,环境检查如下:
[root@zabbix ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@zabbix ~]# uname -r
2.6.32-696.el6.x86_64
[root@zabbix ~]# hostname -I
10.0.0.71 172.16.1.71
[root@zabbix ~]# getenforce
Disabled
[root@zabbix ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@zabbix ~]# ll -d /tmp ##1777
drwxrwxrwt. 3 root root 4096 Oct 10 09:17 /tmp
第二步:下载软件包:
zabbix3.0.15_yum.tar.gz(备用)
1.保障企业数据的安全可靠。
2.为客户提供7*24小时服务。
3.不断提升用户的体验。
4. 通过命令监控
4.1 如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM
4.2 查看硬件的温度/风扇转速,电脑有撸大师,服务器就有ipmitool。使用ipmitool实现对服务器的命令行远程管理
yum -y install OpenIPMI ipmitool #->IPMI在物理机可以成功,虚拟机不行
[root@KVM ~]# ipmitool sdr type Temperature
Temp | 01h | ns | 3.1 | Disabled
Temp | 02h | ns | 3.2 | Disabled
Temp | 05h | ns | 10.1 | Disabled
Temp | 06h | ns | 10.2 | Disabled
Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C
Planar Temp | 0Fh | ns | 7.1 | Disabled
IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled
CPU Temp Interf | 76h | ns | 7.1 | Disabled
Temp | 0Ah | ns | 8.1 | Disabled
Temp | 0Bh | ns | 8.1 | Disabled
Temp | 0Ch | ns | 8.1 | Disabled
负载主要反映 cpu,磁盘IO 跟内存没关系
4.4 想知道了cpu性能好不好、忙不忙可以用lscpu、uptime、top、htop、vmstat、mpstat。
lscpu 查看cpu的信息,比如cpu的核数 (CPU(s):1)
[root@zabbix ~]# uptime(w)
10:07:47 up 50 min, 3 users, load average: 0.00, 0.00, 0.00
当前系统时间 up 运行时间 3user 登录的用户数 load average 平均负载 1, 5, and 15 minutes
最佳负载:过去1分钟的平均负载等于CPU的核数(或者2倍)
怎么判断服务器的负载过高:就是看你的过去1分钟的平均负载是否超过CPU的核数(或者2倍)
top 实时动态查看系统负载
快捷键 z 加颜色 x 高亮显示排序区域 < > 向左,向右切换
[root@zabbix ~]# top
top - 10:16:32 up 59 min, 3 users, load average: 0.00, 0.00, 0.00
# 第一行和uptime一样
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
# 第二行 显示当前进程统计信息 zombie 僵尸 僵死进程
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
# 第三行 cpu的统计信息 %us 用户使用的cpu百分比 %sy 系统使用的cpu百分比 %id (idle) 空闲的cpu百分比
Mem: 1004112k total, 117104k used, 887008k free, 9480k buffers
# 第四行 内存的统计信息
Swap: 786428k total, 0k used, 786428k free, 30700k cached
# 第五行 swap的统计信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7 root 20 0 0 0 0 S 0.3 0.0 0:07.67 events/0
1 root 20 0 19352 1532 1228 S 0.0 0.2 0:01.10 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
htop top命令的进阶版,支持鼠标
yum -y install htop
4.5 内存够不够可以用free、vmstat。
free -h (CentOS6.5以前的系统free命令没有-h参数,只有-m)
4.6 磁盘剩多少写的快不快可以用df、dd、iotop、iostat。
dd if=/dev/zero of=test.data bs=1M count=10
if input file 输入文件 /dev/zero 这是系统的特殊设备,能够源源不断的产生0字符流
of output file 输出设备
bs block size 块大小
count block块的数量
总结:产生的test.data文件大小 bs * count
经验:最佳测试磁盘写的速度的测试文件test.data至少大于内存的值
iotop 实时查看系统的io(输入输出)负载
yum -y install iotop
4.7 网络太卡找iftop, nethogs
iftop 查看网卡的流量
iftop默认监控eth0网卡的流量
iftop -i eth1
cpu负载
内存
磁盘
网络
软件服务
6.1.1 安装LAMP环境
要求php版本在5.4以上
#1. 安装apache
yum -y install httpd
#2. 安装mysql
yum -y install mysql-server
#3. 安装php5.5 默认的yum源的php版本是5.3
rpm -ivh http://repo.webtatic.com/yum/el6/x86_64/webtatic-release-6-9.noarch.rpm
yum -y install php55w php55w-mysql php55w-common php55w-gd php55w-mbstring php55w-mcrypt php55w-devel php55w-xml php55w-bcmath
#mysql
#common
#gd
#mbstring
#mcrypt
#devel
#xml
#bcmath
6.1.2 安装Zabbix软件
不使用离线包的安装方法:
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
yum -y install zabbix-web zabbix-server-mysql zabbix-web-mysql zabbix-get
yum -y install zabbix-java-gateway wqy-microhei-fonts net-snmp net-snmp-utils -y
提前安装的 :
#zabbix-java-gateway :监控tomcat需要的包
#wqy-microhei-fonts : 解决中文乱码的包
#net-snmp net-snmp-utils:snmp服务安装包
6.2.1 配置LAMP环境
1. apache的所有配置无需担心,因为zabbix的rpm默认帮我们配置好了apache
2. 配置mysql
\cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
# 启动MySQL mysql不是二进制安装的
/etc/init.d/mysqld start
# 创建用户并授权
mysql
# 在mysql命令行执行下面的命令
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
exit
# 下面接着在Linux命令行操作 导数据
zcat /usr/share/doc/zabbix-server-mysql-3.0.21/create.sql.gz|mysql -uzabbix -pzabbix zabbix
直接查看压缩包的内容
6.2.2. 配置php(/etc/php.ini)
# 修改php配置文件
egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /etc/php.ini
sed -i.ori 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini
改为
##max_execution_time = 300
##max_input_time = 300
##post_max_size = 16M
##date.timezone = Asia/Shanghai
6.2.3 配置zabbix 服务
# 修改zabbix_server配置文件
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
# 网页文件(给我们提供一个web界面进行监控)
mv /usr/share/zabbix/ /var/www/html/
# 文件授权
chmod -R 755 /etc/zabbix/web
chown -R apache.apache /etc/zabbix/web
echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf apache 会解析主机名
/etc/init.d/httpd start
/etc/init.d/zabbix-server start
LNMP的php是单独的一个服务,启动9000端口
LAMP的php是apache的一个模块,不需要启动php服务,只需要启动http
加入开机自启动
[root@zabbix ~]# tail -4 /etc/rc.local
/etc/init.d/mysqld start
/etc/init.d/httpd start
/etc/init.d/zabbix-server start
http://10.0.0.71/zabbix/setup.php
用户名:Admin
密码: zabbix
安装完总是说zbbix server not runnig 原因SElinux 没有关
[root@zabbix ~]# /etc/init.d/zabbix-server stop
Shutting down Zabbix server: [FAILED]
[root@zabbix ~]# /etc/init.d/zabbix-server status
zabbix_server is stopped
[root@zabbix ~]# /etc/init.d/zabbix-server start
Starting Zabbix server: [ OK ]
[root@zabbix ~]# /etc/init.d/zabbix-server status
zabbix_server is stopped
[root@zabbix ~]# getenforce
Enforcing
[root@zabbix ~]#
[root@zabbix ~]# setenforce 0
[root@zabbix ~]# getenforce
Permissive
[root@zabbix ~]# /etc/init.d/zabbix-server start
Starting Zabbix server: [ OK ]
[root@zabbix ~]# /etc/init.d/zabbix-server status
zabbix_server (pid 1614) is running...
[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log
1635:20180823:115937.436 server #17 started [timer #1]
1636:20180823:115937.439 server #18 started [http poller #1]
1645:20180823:115937.465 server #19 started [discoverer #1]
1646:20180823:115937.476 server #20 started [history syncer #1]
1647:20180823:115937.478 server #21 started [history syncer #2]
1648:20180823:115937.478 server #22 started [history syncer #3]
1649:20180823:115937.492 server #23 started [history syncer #4]
1650:20180823:115937.493 server #24 started [escalator #1]
1651:20180823:115937.494 server #25 started [proxy poller #1]
1652:20180823:115937.496 server #26 started [self-monitoring #1]
接受其他客户端发来的信息
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm
[root@web01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm
[root@web01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.15-1.el6.x86_64.rpm
-i install 安装
-v 显示安装过程
-h 显示进度条
[root@web01 ~]# egrep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.1.71
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/
[root@web01 ~]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@web01 ~]# ss -lntup|grep zabbix
tcp LISTEN 0 128 :::10050 :::* users:(("zabbix_agentd",1650,5),("zabbix_agentd",1651,5),("zabbix_agentd",1652,5),("zabbix_agentd",1653,5),("zabbix_agentd",1654,5),("zabbix_agentd",1655,5))
tcp LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",1650,4),("zabbix_agentd",1651,4),("zabbix_agentd",1652,4),("zabbix_agentd",1653,4),("zabbix_agentd",1654,4),("zabbix_agentd",1655,4))
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.71#' /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent start
echo "/etc/init.d/zabbix-agent start" >> /etc/rc.local
主机名称:zabbix程序识别用的名字
可见的名称:给人看,显示在网页上的
群组:同学(主机)与小组(群组) 方便管理
agent代理程序的接口:指定客户端主机的ip地址
zabbix 客户端端口
检查客户端是否能够被监控的第一手段:
[root@zabbix ~]# zabbix_get -s 172.16.1.71 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get [6229]: Get value error: cannot connect to [[172.16.1.8]:10050]: [110] Connection timed out
[root@zabbix ~]# ping 172.16.1.8
PING 172.16.1.8 (172.16.1.8) 56(84) bytes of data.
From 172.16.1.71 icmp_seq=1 Destination Host Unreachable
From 172.16.1.71 icmp_seq=2 Destination Host Unreachable
From 172.16.1.71 icmp_seq=3 Destination Host Unreachable
解决:zabbix 端的lan区段没有设置
zabbix 监控配置 出错的原因
zabbix_get [4236]: Get value error: cannot connect to [[172.16.1.71]:10050]: [111] Connection refused
1. zabbix_get [3980]: Get value error: cannot connect to [[172.16.1.9]:10050]: [110] Connection timed out
ip地址不存在或者 防火墙或selinux开启
2. Assuming that agent dropped connection because of access permissions.
配置文件不对,改了没重启
3. 查看监控数据
查看数据与图形
解决中文乱码(服务端zabbix操作)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
看饼图乱码用下面字体 simkai.ttf
[root@zabbix ~]# \cp simkai.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf
流量图的作用:
1. 判断公司业务是否正常 ---正常业务时间流量非常低
2. 为公司购买带宽时提供依据
小结:
已经掌握了:
服务端安装,客户端安装
主机监控(cpu,内存,磁盘,网络等模板自带的监控项)
查看监控数据
监控zabbix模板没有的功能
需求:监控主机的登录用户数量,超过3个人就报警
/etc/zabbix/zabbix_agentd.conf和/etc/zabbix/zabbix_agentd.d/目录关系
类似 nginx的nginx.conf与extra目录
[root@web01 ~]# tree /etc/zabbix/
/etc/zabbix/
├── zabbix_agentd.conf #conf/nginx.conf
├── zabbix_agentd.conf.ori
└── zabbix_agentd.d #conf/extra
└── userparameter_mysql.conf
在/etc/zabbix/zabbix_agentd.conf查看 UserParameter语法如下所示
### Option: UserParameter 自定义监控项
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# 监控项名称,shell命令
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=
正式操作如下:
# 在web01执行下面操作
echo "UserParameter=login-user,who|wc -l" >/etc/zabbix/zabbix_agentd.d/userparameter_login.conf
/etc/init.d/zabbix-agent restart
# 在zabbix操作检测
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user"
ZBX_NOTSUPPORTED: Unsupported item key.
错误原因:
a.真的没有这个监控项,名字写错了;
b.写对了没有重启agent
正确结果:
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user"
3
问题1:key是唯一的,不能重复
推广:自己在客户端准备好想要执行的命令,然后配置到/etc/zabbix/zabbix_agentd.d/,一重启,服务端就可以获取数据。
实现你想监控什么就能够监控什么。
1. 添加模板
模板的功能:一处创建,处处使用
2. 添加应用集
给你的监控项归类
每一类的监控类型
3.添加监控项
告诉服务端server你该去哪里获取什么方面数据
趋势,只是预测的大致走势
4.添加触发器
告诉server你该什么时候报警
严重性:
警告级别的报警发给初级运维
一般严重级别的报警发给初级运维,中级运维
严重级别的报警发给初级运维,中级运维,高级运维
灾难级别的报警发给初级运维,中级运维,高级运维,总监
5.图形
给运维出个图
可以添加多个模板
http://www.onealert.com 注册
1.报警
邮件报警:存在收不到的风险 *
微信报警:通知即时 ***
短信报警
电话报警
APP
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts
wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.0.0.tar.gz
tar -zxf oneitsm_zabbix_release-1.0.0.tar.gz
cd oneitsm/bin
# 753f148b-cc6f-e2c0-d23a-06b37f3a52ab 这是key,【从注册的官网获取】
bash install.sh 753f148b-cc6f-e2c0-d23a-06b37f3a52ab
Zabbix管理地址: http://10.0.0.71/zabbix/
Zabbix管理员账号: Admin
Zabbix管理员密码: zabbix # 密码不显示,但是还是输入进去
聚合图形:将同一类型的监控放在一起看,容易对比分析
幻灯片:轮流播放聚合图形
3. 模板的共享
https://github.com/zhangyao8/zabbix-community-repos
导出,导入
4. 监控期中架构集群
考试目标:使用zabbix将期中架构所有集群监控
具体内容:
一、硬件、系统、网络监控
所有集群节点(所有虚拟机)都监控上
关键点:
系统监控包括CPU,内存,磁盘,负载,流量
网络监控:主机网卡监控,交换机(路由器)监控
上面监控完全可以使用自带的模板实现功能
1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;
2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;
3. 监控MySQL服务器,简单方法监控mysql的3306端口
4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;
5. 监控URL地址来更精确的监控我们的网站运行正常;
6. 监控反向代理服务器
7. 监控Nginx的7种连接状态。
简单的方法:通过端口号或者进程数量
服务 端口 进程
Rsync 873 ?
NFS 111? ?
MySQL 3306 ?
Nginx 80 ?
net.tcp.listen[port] 检查 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听
net.tcp.port[<ip>,port] 检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[80]'
1
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[81]'
0
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.listen[873]'
1
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[,80]'
1
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[,873]'
1
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'net.tcp.port[873]'
ZBX_NOTSUPPORTED: Invalid second parameter.
proc.num[<name>,<user>,<state>,<cmdline>]进程数。返回整数
zabbix_get -s 172.16.1.8 -p 10050 -k 'proc.num[nginx]'
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
sh: mysqladmin: command not found
0
# 默认yum安装的mysql使用zabbix的自带userparameter_mysql.conf没有任何问题
[root@zabbix ~]# mysql -V
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
[root@zabbix ~]# mysqladmin ping
mysqld is alive
[root@zabbix ~]# mysqladmin ping | grep -c alive
1
# 但是我们自己二进制安装的mysql就报错了
如何排查自定义监控报错:
UserParameter=key,shell command
1. 现在命令行测试你的shell command的结果和你的期望是否一致
[root@web01 ~]# mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive
1
mysqladmin 路径问题
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
/application/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
0
这里的路径要写正确,mysql的安装路径,不然命令会报错
[root@web01 ~]# tail -3 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.ping,HOME=/var/lib/zabbix /application/mysql/bin/mysqladmin -uroot -poldboy123 ping | grep -c alive
UserParameter=mysql.version,mysql -V
UserParameter=login-user,who|wc -l
[root@web01 ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
Warning: Using a password on the command line interface can be insecure.
1
[root@web01 ~]# tail -3 /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.ping,HOME=/var/lib/zabbix /application/mysql/bin/mysqladmin -uroot -poldboy123 ping 2>/dev/null| grep -c alive
UserParameter=mysql.version,mysql -V
UserParameter=login-user,who|wc -l
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
1
2. 将符合预期的shell command写入到我们的自定义监控文件中
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
改为
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive
3. 改完配置文件记住重启生效
4. 在服务端用zabbix_get命令
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
0
# 发现命令找不到,返回值为0
# 使用全路径
UserParameter=mysql.ping,/application/mysql/bin/mysqladmin -uroot -poldboy123 ping 2>/dev/null|grep -c alive
[root@zabbix ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'mysql.ping'
1
5. 在网页上添加
Template App MySQL
教会如何修改其他人给你们的模板(Template App MySQL)及自定义监控配置文件(userparameter_mysql.conf)
昨天: 自己写了自定义监控配置文件userparameter_login.conf 添加一个Template login user【监控名】
监控nginx状态:绘图
Nginx的配置
######status#########
server {
listen 127.0.0.1:80;
stub_status on;
access_log off;
}
[root@web01 extra]# curl status.lewen.com
Active connections: 1
server accepts handled requests
162 162 175
Reading: 0 Writing: 1 Waiting: 0
[root@web01 ~]# curl -sH Host:status.etiantian.org 10.0.0.8|awk 'NR==1{print $NF}'
1
[root@web01 ~]# curl -sH Host:status.etiantian.org 10.0.0.8|awk 'NR==3{print $1}'
271
[root@web01 ~]# curl -sH Host:status.etiantian.org 10.0.0.8|awk 'NR==3{print $2}'
273
[root@web01 ~]# curl -sH Host:status.etiantian.org 10.0.0.8|awk 'NR==3{print $3}'
275
1. key shell command 自定义监控配置文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf
UserParameter=nginx_active,curl -s 127.0.0.1|awk '/Active/ {print $NF}'
UserParameter=nginx_accepts,curl -s 127.0.0.1|awk 'NR==3 {print $1}'
UserParameter=nginx_handled,curl -s 127.0.0.1|awk 'NR==3 {print $2}'
UserParameter=nginx_requests,curl -s 127.0.0.1|awk 'NR==3 {print $3}'
UserParameter=nginx_reading,curl -s 127.0.0.1|awk 'NR==4 {print $2}'
UserParameter=nginx_writing,curl -s 127.0.0.1|awk 'NR==4 {print $4}'
UserParameter=nginx_waiting,curl -s 127.0.0.1|awk 'NR==4 {print $6}'
2. 重启
3. server上zabbix get测试
4. web界面
模板(Template Nginx Status)--应用集(nginx状态)---监控项(7个)---图形(画2张图)
具体内容:
一、硬件、系统、网络监控
所有集群节点(所有虚拟机)都监控上
关键点:
系统监控包括CPU,内存,磁盘,负载,流量
网络监控:主机网卡监控,交换机(路由器)监控
上面监控完全可以使用自带的模板实现功能
二、应用服务监控
1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;
2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;
3. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;
4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;
5. 监控URL地址来更精确的监控我们的网站运行正常;
6. 监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。
7. 监控Nginx的7种连接状态。
自动发现:服务端server自动发现局域网中的所有客户端agent(收小弟)
优点:方便找到所有客户端,不会遗漏
缺点:一旦agent过多,server压力山大,每隔一段时间,server都会扫描一遍局域网的所有机器。
自动注册:所有客户端Agent主动去服务端server登记注册一下(小弟上门求收留)
优点:对服务端的压力最低
缺点:配置过程稍微复杂
1.1 自动发现
1. 客户端agent配置
不需要任何配置,只要沿用前面的配置即可。
2. 服务端server配置
不需要任何配置,只要沿用前面的配置即可。
3. 网页上配置
第一步:配置自动发现规则---发现主机
[root@zabbix bin]# zabbix_get -s 172.16.1.8 -p 10050 -k 'system.uname'
Linux web01 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64
第二步:配置添加主机动作---添加主机
4. 小结:工作流程
a.安装好服务端
b.批量安装好客户端
c.网上配置自动发现规则及动作
d.等着
e.再来新的机器,只需安装好客户端即可
f.再等着
能用zabbix Agent:系统能够安装这个软件的时候就用这种方法
但是,交换机,打印机等智能设备
snmp就是专门为设备监控开发的协议,软件
优点:软件小巧,所以设备都可以安装
缺点:支持的功能少
生产环节建议:能够安装agent,先用Agent;如果不能装或者装不了,那么可以使用snmp
3.1 在Linux服务期启动SNMP服务
yum -y install net-snmp net-snmp-utils
配置snmp
sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf
/etc/init.d/snmpd start
使用SNMP
[root@db01 ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname
# snmpwalk 类似 zabbix_get
# -v 2c 指定使用snmp协议的版本 snmp分为v1 v2 v3
# -c public 指定暗号
# sysname 类似zabbix的key
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。