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

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

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

四、zabbix体系架构 图

五、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 图

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 图

6.zabbix软件安装 (1)在线装(能访问英特网) 图 (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 图 改时区环境保存退出 图

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 Server

Copyright (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 图

往下 修改 DBName=zabbix //数据库名 DBUser=zabbix //数据库用户 DBPassword=pwd@123 //数据库密码 图 保存退出

七、开启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” 图

2)设置好数据库连接 比如库名zabbix、用户名zabbix、密码pwd@123点击next step 点击next step 点击next step 图

点击finish 图 以默认管理员Admin登录Zabbix平台,zabbix默认管理员为Admin(注意第一个A为大写),密码为zabbix 图 登录成功以后,可以看到英文版的zabbix监控网页 图 单击zabbix监控页面右上方的头像标识,可以打开当前用户的属性设置页面 将界面语言更改为“Chinese(zh_CN)”点击updata 图 更新成功后,zabbix监控页面就会变成中文 十二、启用将Zabbix Server本机作为被监控主机 单击zabbix监控页面上的“配置”-->“主机”,可以列出被监控主机。Zabbix平台默认已将本机添加为被监控对象,但是并没有启用 图 需要勾选Zabbix server主机项,然后单击底部的“启用”以开启监控。等待几分钟后按F5刷新网页,在“可用性”一栏下的ZBX项将会被点亮为绿色 图

十三、确认监控项:主机可用性、可用内存、CPU负载、登录用户数、运行进程数 单击zabbix监控页面上的“配置”-->“主机”,找到被监控的主机条目,单击右侧的“监控项”可以列出所有监控项 图

确认主机可用性监控项 监控项 Agent ping用来检查zabbix客户端的可用性 图 确认可用内存监控项 监控项 Available memory用来检查可用内存 图 确认CPU负载监控项 监控项 Processor load相关的用来检查CPU负载情况 图 确认登录用户数监控项 监控项 Number of logged in users用来检查已登录用户数 图

确认运行进程数监控项 监控项 Number of processes用来检查运行的进程数 图 添加入站流量、出站流量监控 对于模板中没有、也没能通过自动发现创建的监控项,还可以由管理员手动添加新的监控项。单击zabbix监控页面上的“配置”-->“主机”,找到被监控的主机条目,单击右侧的“监控项”打开监控项管理页面,单击右上方的创建监控项按钮,可以配置新监控项。 1)添加入站流量监控 需要指定监控项名称、监控键值(获取监控结果的预设方法)。比如,添加对网卡ens33的入站(从此网卡进入主机)流量,对应的键值为net.if.in[ens33] 图 注意:网卡流量监控项可能会由zabbix服务端自动发现并添加,若已经完成自动发现,则此项会因为键值冲突而无法添加,也无需重复添加。 2)添加出站流量监控 添加对网卡ens33的出站(从此网卡发出)流量,对应的键值为net.if.out[ens33]

3)确认新增加的监控项 返回监控项页面,可以在最后两条找到新增的监控项 图 列出主机的监控图形 单击zabbix监控页中的“配置”-->“主机”-->选中被监控主机-->“图形”,可以看到已经创建的监控图形(默认都是从模板创建的) 图 创建监控图形 1)添加“CPU负载分析”图形 创建新的监控图形时,需要指定名称、监控项 图

确认设置无误,单击下方的“添加”就完成了 2)添加“网卡流量分析”图形 为入站流量、出站流量两个监控项创建“网卡流量分析”监控图形 图

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

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负载分析”网页,可以看到监控图形中的汉字可以正常显示了 图 3)查看“网卡流量分析”图形 单击zabbix监控页的“监测中”-->“图形”-->选择XX图形查看,比如查看Zabbix server的网卡流量分析 图