一、运维监控基础
1.报告网路/系统/业务运行状况
2.提前发现被监控设备的问题

二、监控的资源类别
硬件监控:CPU、内存、磁盘I/O
系统监控:存活状态、进程数、用户数、磁盘使用率
网络监控:故障点监测、出站流量、入站流量
应用监控:Web/FTP等服务、TCP/UDP端口检测

三、监控服务平台
Cacti---------基于SNMP协议的监控软件,强大的绘图能力
Nagios-------基于Agent监控,强大的报警机制。插件扩展
Zzbbix-------基于Agent+SNMP多种监控手段,模板丰富

四、zabbix体系架构


it运维监控工具 运维监控技术_数据库

五、linux系统人为监控
linux服务器检测:
cpu负载:uptime
用户登录:who | wc -l、/var/log/secure
进程数: pgrep -c
网络: ping、netstat、iptraf-ng

六、部署监控平台
1.查看网卡,设置网络参数
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
virbr0 bridge 连接的 virbr0
ens33 ethernet 已断开 --
lo loopback 未托管 --
virbr0-nic tun 未托管 -

[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.10.120/24 ipv4.gateway 192.168.10.254 ipv4.dns 8.8.8.8
[root@localhost ~]# nmcli connection up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@localhost ~]# hostnamectl set-hostname zbx.tedu.cn
[root@localhost ~]# hostname
zbx.tedu.cn

2.部署环境添加本地域名记录

[root@zbx ~]# vim /etc/hosts


it运维监控工具 运维监控技术_it运维监控工具_02

3.装包,安装并启用LAMP网站平台
[root@zbx ~]# yum -y install httpd mariadb-server mariadb php php-mysql
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 httpd-2.4.6-80.el7.centos.x86_64 已安装并且是最新版本
软件包 1:mariadb-server-5.5.56-2.el7.x86_64 已安装并且是最新版本
软件包 1:mariadb-5.5.56-2.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 php.x86_64.0.5.4.16-45.el7 将被 安装
--> 正在处理依赖关系 php-common(x86-64) = 5.4.16-45.el7,它被软件包 php-5.4.16-45.el7.x86_64 需要
--> 正在处理依赖关系 php-cli(x86-64) = 5.4.16-45.el7,它被软件包 php-5.4.16-45.el7.x86_64 需要
---> 软件包 php-mysql.x86_64.0.5.4.16-45.el7 将被 安装
--> 正在处理依赖关系 php-pdo(x86-64) = 5.4.16-45.el7,它被软件包 php-mysql-5.4.16-45.el7.x86_64 需要
--> 正在检查事务
---> 软件包 php-cli.x86_64.0.5.4.16-45.el7 将被 安装
---> 软件包 php-common.x86_64.0.5.4.16-45.el7 将被 安装
--> 正在处理依赖关系 libzip.so.2()(64bit),它被软件包 php-common-5.4.16-45.el7.x86_64 需要
---> 软件包 php-pdo.x86_64.0.5.4.16-45.el7 将被 安装
--> 正在检查事务
---> 软件包 libzip.x86_64.0.0.10.1-8.el7 将被 安装
--> 解决依赖关系完成
………..
已安装:
php.x86_64 0:5.4.16-45.el7 php-mysql.x86_64 0:5.4.16-45.el7

作为依赖被安装:
libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0:5.4.16-45.el7
php-common.x86_64 0:5.4.16-45.el7 php-pdo.x86_64 0:5.4.16-45.el7

4.开启服务并设置开机自运行

[root@zbx ~]# systemctl restart httpd mariadb
[root@zbx ~]# systemctl enable httpd mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

5.关闭防火墙、禁用SElinux机制

[root@zbx ~]# systemctl stop firewalld.service 
[root@zbx ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zbx ~]# setenforce 0
[root@zbx ~]# vim /etc/selinux/config


it运维监控工具 运维监控技术_php_03


it运维监控工具 运维监控技术_数据库_04

6.zabbix软件安装

(1)在线装(能访问英特网)


it运维监控工具 运维监控技术_php_05


(2)离线安装(下载必要的软件包)

使用yum本地安装

[root@zbx ~]# yum -y install zabbix-server/*.rpm

已加载插件:fastestmirror, langpacks

正在检查 zabbix-server/fping-3.10-1.el7.x86_64.rpm: fping-3.10-1.el7.x86_64

zabbix-server/fping-3.10-1.el7.x86_64.rpm 将被安装

正在检查 zabbix-server/iksemel-1.4-2.el7.centos.x86_64.rpm: iksemel-1.4-2.el7.centos.x86_64

zabbix-server/iksemel-1.4-2.el7.centos.x86_64.rpm 将被安装

正在检查 zabbix-server/php-bcmath-5.4.16-45.el7.x86_64.rpm: php-bcmath-5.4.16-45.el7.x86_64

……..

已安装:

fping.x86_64 0:3.10-1.el7 iksemel.x86_64 0:1.4-2.el7.centos

php-bcmath.x86_64 0:5.4.16-45.el7 php-mbstring.x86_64 0:5.4.16-45.el7

zabbix-agent.x86_64 0:3.4.14-1.el7 zabbix-get.x86_64 0:3.4.14-1.el7

zabbix-server-mysql.x86_64 0:3.4.14-1.el7 zabbix-web.noarch 0:3.4.14-1.el7

zabbix-web-mysql.noarch 0:3.4.14-1.el7

作为依赖被安装:
OpenIPMI-libs.x86_64 0:2.0.23-2.el7 OpenIPMI-modalias.x86_64 0:2.0.23-2.el7
php-gd.x86_64 0:5.4.16-45.el7 php-ldap.x86_64 0:5.4.16-45.el7
php-xml.x86_64 0:5.4.16-45.el7 t1lib.x86_64 0:5.1.2-14.el7
unixODBC.x86_64 0:2.3.1-11.el7

7.配置php解析环境

[root@zbx ~]# vim /etc/httpd/conf.d/zabbix.conf


it运维监控工具 运维监控技术_数据库_06


改时区环境保存退出


it运维监控工具 运维监控技术_开发工具_07

8.重启httpd

[root@zbx ~]# systemctl restart httpd

9.初始化数据库
创建新库zabbix 支持UTF8字符集
授权用户zabbix 密码123 允许从本机访问

[root@zbx ~]# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'pwd@123';
MariaDB [(none)]> quit
Bye
[root@zbx ~]#

导入zabbix服务包提供的初始库

[root@zbx ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -ppwd@123 zabbix

10.设置好数据库连接

[root@zbx ~]# vim /etc/zabbix/zabbix_server.conf


it运维监控工具 运维监控技术_it运维监控工具_08

往下 修改

DBName=zabbix //数据库名
DBUser=zabbix //数据库用户
DBPassword=pwd@123 //数据库密码


it运维监控工具 运维监控技术_开发工具_09


it运维监控工具 运维监控技术_开发工具_10


保存退出

七、开启zabbix相关服务
1)启动zabbix-server、zabbix-agent

[root@zbx ~]# vim /etc/zabbix/zabbix_server.conf
[root@zbx ~]# systemctl restart zabbix-server zabbix-agent.service 
[root@zbx ~]# systemctl enable zabbix-server.service zabbix-agent.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.

2)确认httpd网站服务已开启
[root@zbx ~]# systemctl restart httpd

十一、访问Web界面,按照提示完成初始设置

1)访问部署好的zabbix监控系统页面

在浏览器中访问http://192.168.10.7/zabbix/,首次访问时会自动跳转到初始化设置页面 图

单击右下方的“Next step”按钮,下一个页面会检查PHP环境,确认所有条件都是“OK”


it运维监控工具 运维监控技术_开发工具_11

2)设置好数据库连接

比如库名zabbix、用户名zabbix、密码pwd@123点击next step

点击next step

点击next step


it运维监控工具 运维监控技术_php_12

点击finish


it运维监控工具 运维监控技术_数据库_13


it运维监控工具 运维监控技术_开发工具_14


以默认管理员Admin登录Zabbix平台,zabbix默认管理员为Admin(注意第一个A为大写),密码为zabbix


it运维监控工具 运维监控技术_开发工具_15


登录成功以后,可以看到英文版的zabbix监控网页


it运维监控工具 运维监控技术_数据库_16


单击zabbix监控页面右上方的头像标识,可以打开当前用户的属性设置页面

将界面语言更改为“Chinese(zh_CN)”点击updata


it运维监控工具 运维监控技术_数据库_17


更新成功后,zabbix监控页面就会变成中文

it运维监控工具 运维监控技术_it运维监控工具_18


十二、启用将Zabbix Server本机作为被监控主机

单击zabbix监控页面上的“配置”-->“主机”,可以列出被监控主机。Zabbix平台默认已将本机添加为被监控对象,但是并没有启用


it运维监控工具 运维监控技术_php_19


需要勾选Zabbix server主机项,然后单击底部的“启用”以开启监控。等待几分钟后按F5刷新网页,在“可用性”一栏下的ZBX项将会被点亮为绿色


it运维监控工具 运维监控技术_php_20

十三、确认监控项:主机可用性、可用内存、CPU负载、登录用户数、运行进程数

单击zabbix监控页面上的“配置”-->“主机”,找到被监控的主机条目,单击右侧的“监控项”可以列出所有监控项


it运维监控工具 运维监控技术_数据库_21

确认主机可用性监控项

监控项 Agent ping用来检查zabbix客户端的可用性


it运维监控工具 运维监控技术_php_22


确认可用内存监控项

监控项 Available memory用来检查可用内存


it运维监控工具 运维监控技术_php_23


确认CPU负载监控项

监控项 Processor load相关的用来检查CPU负载情况


it运维监控工具 运维监控技术_mysql_24


确认登录用户数监控项

监控项 Number of logged in users用来检查已登录用户数


it运维监控工具 运维监控技术_开发工具_25

确认运行进程数监控项

监控项 Number of processes用来检查运行的进程数


it运维监控工具 运维监控技术_php_26


添加入站流量、出站流量监控

对于模板中没有、也没能通过自动发现创建的监控项,还可以由管理员手动添加新的监控项。单击zabbix监控页面上的“配置”-->“主机”,找到被监控的主机条目,单击右侧的“监控项”打开监控项管理页面,单击右上方的创建监控项按钮,可以配置新监控项。

1)添加入站流量监控

需要指定监控项名称、监控键值(获取监控结果的预设方法)。比如,添加对网卡ens33的入站(从此网卡进入主机)流量,对应的键值为net.if.in[ens33]


it运维监控工具 运维监控技术_php_27


it运维监控工具 运维监控技术_开发工具_28


注意:网卡流量监控项可能会由zabbix服务端自动发现并添加,若已经完成自动发现,则此项会因为键值冲突而无法添加,也无需重复添加。

2)添加出站流量监控

添加对网卡ens33的出站(从此网卡发出)流量,对应的键值为net.if.out[ens33]

it运维监控工具 运维监控技术_开发工具_29

3)确认新增加的监控项

返回监控项页面,可以在最后两条找到新增的监控项


it运维监控工具 运维监控技术_开发工具_30


列出主机的监控图形

单击zabbix监控页中的“配置”-->“主机”-->选中被监控主机-->“图形”,可以看到已经创建的监控图形(默认都是从模板创建的)


it运维监控工具 运维监控技术_开发工具_31


创建监控图形

1)添加“CPU负载分析”图形

创建新的监控图形时,需要指定名称、监控项


it运维监控工具 运维监控技术_it运维监控工具_32


it运维监控工具 运维监控技术_php_33


it运维监控工具 运维监控技术_mysql_34

确认设置无误,单击下方的“添加”就完成了

2)添加“网卡流量分析”图形

为入站流量、出站流量两个监控项创建“网卡流量分析”监控图形


it运维监控工具 运维监控技术_it运维监控工具_35


it运维监控工具 运维监控技术_php_36

查看监控图形

1)选择指定图形并查看

单击zabbix监控页的“监测中”-->“图形”-->选择XX图形查看,比如查看Zabbix server的CPU负载分析,如图-33所示。默认情况下,zabbix所绘制图形中的汉字会显示为方框,需要修正绘图所使用的字体


it运维监控工具 运维监控技术_it运维监控工具_37

2)修正图形中的中文显示

需要使用能正常支持汉字的中文字体文件,替换zabbix默认的绘图字体

[root@zbx ~]# cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /usr/share/zabbix/fonts/graphfont.ttf

cp:是否覆盖"/usr/share/zabbix/fonts/graphfont.ttf"? y

[root@zbx ~]#

然后按F5键刷新“CPU负载分析”网页,可以看到监控图形中的汉字可以正常显示了


it运维监控工具 运维监控技术_it运维监控工具_38


3)查看“网卡流量分析”图形

单击zabbix监控页的“监测中”-->“图形”-->选择XX图形查看,比如查看Zabbix server的网卡流量分析


it运维监控工具 运维监控技术_开发工具_39