一。 zabbix操作和配置
zabbix常用的操作为 系统用户权限管理 虚拟主机 监控项 触发器 监控模板等
1》用户和权限
以下是权限配置的几个概念
主机组:被监控的主机的集合 同一类模板创建的主机 主机组配置参考官方文档
用户组:某个用户组对某些主机组的操作权限 常用的操作权限有(读写,读,拒绝)用户组配置参考官方文档(https://www.zabbix.com/documentation/3.4/zh/manual/config/users_and_usergroups/usergroup) 默认管理用户组是Zabbix administrators
用户:可以属于多个用户组 属于不同用户组 操作不同主机的权限
2》虚拟主机
也就是被监控的目标机器 一般该机器需要安装zabbit-agent
3》监控项
监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据 比如监控cpu 内存磁盘等数据。
4》触发器
监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。
5》问题通知
当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。
这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。
二。 zabbix agent安装
模拟监控linux环境
192.168.58.152 zabbix-server和zabbix-web
192.168.58.150 zabbix-agent 被监控的linux主机
58.152安装参考http://blog.csdn.net/liaomin416100569/article/details/78663086
18.152修改主机名为 : zabbix-server
hostname zabbix-server
58.150安装过程:
安装 yum源
[root@node3 tomcat]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
安装 zabbix-agent
[root@node3 tomcat]# yum install -y zabbix-agent
查看所有安装文件
[root@node3 tomcat]# rpm -ql zabbix-agent.x86_64 0:3.4.4-2.el7
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-3.4.4
/usr/share/doc/zabbix-agent-3.4.4/AUTHORS
/usr/share/doc/zabbix-agent-3.4.4/COPYING
/usr/share/doc/zabbix-agent-3.4.4/ChangeLog
/usr/share/doc/zabbix-agent-3.4.4/NEWS
/usr/share/doc/zabbix-agent-3.4.4/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
根配置文件位于/etc/zabbix/zabbix_agentd.conf 添加了一个服务 zabbix-agent.service
查看日志轮替文件 /var/log/zabbix/zabbix_agentd.log 发现日志路径 /var/log/zabbix/zabbix_agentd.log
/etc/hosts配置文件添加
192.168.58.152 zabbix-server
修改配置文件
/etc/zabbix/zabbix_agentd.conf 以下几项#zabbixserver的ip地址 可以是多个用,隔开
Server=192.168.58.152
#用于检查服务器是否存活的ip
ServerActive=192.168.58.152
#zabbixweb服务器添加的虚拟主机名称 zabbixagent需要通过ServerActive指定的主机 10050端口去检测添加的虚拟主机名称 是否被激活
Hostname=mylinux
启动 zabbix-agent
[root@node3 tomcat]# service zabbix-agent start
Redirecting to /bin/systemctl start zabbix-agent.service
[root@node3 tomcat]# service zabbix-agent status
Redirecting to /bin/systemctl status zabbix-agent.service
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2017-11-27 03:11:54 PST; 3s ago
Process: 4844 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 4846 (zabbix_agentd)
CGroup: /system.slice/zabbix-agent.service
├─4846 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─4847 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─4848 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─4849 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─4850 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─4851 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Nov 27 03:11:54 node3 systemd[1]: Starting Zabbix Agent...
Nov 27 03:11:54 node3 systemd[1]: PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after start.
Nov 27 03:11:54 node3 systemd[1]: Started Zabbix Agent.
默认开启了服务器连接的端口 10050
[root@node3 tomcat]# netstat -nlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4846/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 4846/zabbix_agentd
三。 zabbix web添加虚拟主机及查看监控图形
zabbixserver必须添加虚拟主机 来实现和zabbixagent的对接 登录 zabbixweb端(http://192.168.58.152/zabbix/zabbix.php?action=dashboard.view)
点击导航栏 配置-主机
输入名称和ip地址(主机名我这里写的中文 是无法成功的 应该使用英文 可见名称可以随便写 我这里 主机名称后面改成了mylinux
也就是这里主机名称和zabbix-agent配置 Hostname=的值必须一致 否则无法监控
)
点击模板 链接指示器 选择 弹出窗口中 选择 Template OS Linux 点击选择 一定要连接 下面超链接的添加 否则没有真正添加进入
点击最下面的添加 主机就添加完成
查看监控
点击监控中-图像-选择之前的主机 查看cpu的负载或者内存等
可以在 150下载安装 lookbusy来进行模拟cpu繁忙 下载地址(http://devin.com/lookbusy/download/lookbusy-1.4.tar.gz) 上传到linux安装
进入解压目录
./configure && make && make install
测试占用70%的cpu
[root@node3 lookbusy-1.4]# lookbusy -c 70
cpu_spin (6678): starting 1 spinner(s) for 70%-70% usage
lookbusy (6678): CPU spinner started, PID 6679
cpu_spin (6679): measuring CPU
cpu_spin (6679): est. 70% util at 12674959 cycles, 29973 usec sleep
查看web图形发现cpu的 1min监控的绿线 会突然升高到顶部
在监控图形中 存在乱码 一般是字体的问题 查看web的字体(rpm -qa | grep zabbix 查看web软件)
Last login: Thu Nov 30 10:31:40 2017 from 192.168.58.1
[root@zabbix-server ~]# rpm -ql zabbix-web-3.4.4-2.el7.noarch | grep font
/usr/share/zabbix/fonts
该目录存在一个字体文件
[root@zabbix-server ~]# cd /usr/share/zabbix/fonts
[root@zabbix-server fonts]# ll
total 0
lrwxrwxrwx 1 root root 33 Nov 29 11:13 graphfont.ttf -> /etc/alternatives/zabbix-web-font
window下的c:/windows/fonts目录下 拷贝任意一个支持中文的字体 比如 我拷贝宋体
拷贝到任意目录 使用sc上传到zabbix-server的/usr/share/zabbix/fonts
将上传的 simsun.ttc 重命名为graphfont.ttf
mv graphfont.ttf graphfont.ttf.old
cp simsun.ttc graphfont.ttf
重启 httpd服务
service httpd restart
重新查看web界面 发现图形乱码都解决
四。 zabbix web监控图形解释
1》监控 cpu
cpu存在三种监控 cpu jumps,cpu load,cpu utilization
》》cpm jumps 主要有两个子监控项
- context switches per second(sps) 每秒上下文切换数
单核cpu 线程是分时运行的 操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用户感觉这些任务正在同时进行。 CPU给每个任务都服务一定的时间, 然后把当前任务的状态保存下来, 在加载下一任务的状态后, 继续服务下一任务。任务的状态保存及再加载, 这段过程就叫做上下文切换。时间片轮转的方式使多个任务在同一颗CPU上执行变成了可能, 但同时也带来了保存现场和加载现场的直接消耗。
- interrupts per second(ips) 每s处理的中断数
中断允许让设备,如键盘,串口卡,并口等设备表明它们需要CPU。
一旦CPU接收了中断请求,CPU就会暂时停止执行正在运行的程序,并且调用一个称为中断处理器或中断服务程序(interrupt service routine)的特定程 序。
》》cpu load
实际上 就是统计系统的负载值 (是由于CPU使用、内存使用、IO消耗三部分构成) 比如 linux上使用uptime查看负载
[root@node3 ~]# uptime
03:53:48 up 1 day, 11:09, 2 users, load average: 1.07, 1.11, 0.64
最后三个参数是 最近1分钟 5分钟 15分钟的平均负载 也可以通过top命令 头部分的 load average: 1.76, 1.20, 0.63部分看到
cpu load实际上就是统计这个数字
3》cpu utilization (cpu使用率)
一般就是统计当前cpu的利用占用 其实就是根据top命令统计 其中top头有以下几个部分
%Cpu(s): 75.0 us, 2.5 sy, 0.0 ni, 22.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us表示 用户空间占用CPU百分比 查看CPU使用率
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa 等待输入输出的CPU时间百分比
2》监控内存
zabbix监控的是 linux剩余可用内存 linux上可以使用 free -m查看以M为单位的内存信息
[root@node3 ~]# free -m
total used free shared buff/cache available
Mem: 1824 1625 73 4 126 65
Swap: 2048 291 1757
mem表示物理内存 总共是1824M 使用了 1625M 剩余73M
Swap表示交换内存(物理内存不够 使用交换内存顶 实际就是用磁盘空间当内存用 效率低 ) 总共是2G 使用291剩余1757
查看可用内存
查看交换内存占用
3》监控磁盘
查看磁盘的可用空间 linux命令为 -m表示单位是MB
[root@node3 ~]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda3 79532 6345 73187 8% /
devtmpfs 904 0 904 0% /dev
tmpfs 913 0 913 0% /dev/shm
tmpfs 913 9 904 1% /run
tmpfs 913 0 913 0% /sys/fs/cgroup
/dev/sda1 297 107 191 36% /boot
tmpfs 183 0 183 0% /run/user/0
/表示文件系统根目录 剩余 73187M 使用了 6345M
/boot表示系统内核的一些数据 总共是297M 使用107M
zabbix可以监控这两个分区
磁盘使用率 /
磁盘使用率 /boot
3》监控网络
查看当前网络占用的流量信息 一般包括 上行流量(进入主机的数据)和下行流量(发出的数据)
实际统计的linux下的网络流文件
[root@node3 ~]# more /proc/net/dev
Inter-| Receive(接受) | Transmit(发出)
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eno16777736: 215187628 544001 0 0 0 0 0 0 672193851 861396 0 0 0 0 0 0
lo: 16189197 216842 0 0 0 0 0 0 16189197 216842 0 0 0 0 0 0