热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZABBIX平台部署及使用

ZABBIX平台部署及使用1准备zabbix平台环境新建一台CentOS7虚拟主机,设置主机名zbx.sss.cn,IP地址:192.168.10.15624修改etchosts文




ZABBIX平台部署及使用

1 准备zabbix平台环境


  • 新建一台CentOS7虚拟主机,设置主机名zbx.sss.cn,IP地址:192.168.10.156/24
  • 修改 /etc/hosts 文件,添加 zbx.tedu.cn 的本地域名映射记录
  • 安装并启用LAMP平台
  • 禁用防火墙和SELinux保护机制

2 部署步骤


步骤一:服务器地址设置


1)配置主机名为zbx.sss.cn

[root@centos7 ~]# hostnamectl set-hostname zbx.sss.cn //设置主机名

退出当前命令行终端,重新打开,命令行提示信息中的主机名也会变更。

[root@zbx ~]# hostnamectl
Static hostname: zbx.sss.cn
Icon name: computer-vm
Chassis: vm
Machine ID: 74cf90f94eb1465ca75cf06c07ccdaf2
Boot ID: e47660f510bd4fc3833b81e3b20a6c76
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1127.el7.x86_64
Architecture: x86-64
[root@zbx ~]#

2)配置IP地址192.168.10.156/24

[root@zbx ~]# nmcli connection show //查看设备、连接名(比如ens33)
NAME UUID TYPE DEVICE
ens33 99c20005-a856-4f56-bc7f-e9cc8664389d ethernet ens33
virbr0 cb9f2d6b-ac80-4d32-9bc4-8cca3f37d499 bridge virbr0
[root@zbx ~]#
[root@zbx ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses "192.168.10.156/24" connection.autoconnect yes //配置IP地址
[root@zbx ~]# nmcli connection up ens33 //激活连接
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@zbx ~]#

3)添加本机主机映射记录,方便快速访问。

[root@zbx ~]# vim /etc/hosts //编辑该文件,添加以下内容
......
192.168.10.156 zbx zbx.sss.cn

[root@zbx ~]# ping zbx.sss.cn //确认修改结果
PING zbx (192.168.10.156) 56(84) bytes of data.
64 bytes from zbx (192.168.10.156): icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from zbx (192.168.10.156): icmp_seq=2 ttl=64 time=0.114 ms
64 bytes from zbx (192.168.10.156): icmp_seq=3 ttl=64 time=0.096 ms
64 bytes from zbx (192.168.10.156): icmp_seq=4 ttl=64 time=0.069 ms
^C
--- zbx ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.049/0.082/0.114/0.024 ms
[root@zbx ~]#

步骤二:安装并启用LAMP平台。


1)安装LAMP各平台组件

[root@zbx ~]# yum -y install httpd mariadb-server mariadb php php-mtsql
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 httpd-2.4.6-93.el7.centos.x86_64 已安装并且是最新版本
软件包 1:mariadb-server-5.5.65-1.el7.x86_64 已安装并且是最新版本
软件包 1:mariadb-5.5.65-1.el7.x86_64 已安装并且是最新版本
软件包 php-5.4.16-48.el7.x86_64 已安装并且是最新版本
没有可用软件包 php-mtsql。
无须任何处理
[root@zbx ~]#

2)启用LAMP平台相关服务

[root@zbx ~]# systemctl enable httpd mariadb --now //设置开机自运行,并立即开启服务
[root@zbx ~]#

步骤三:禁用防火墙和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 ~]#

2)关闭SELinux机制

[root@zbx ~]# setenforce 0 //使SELinux失效
[root@zbx ~]# vim /etc/selinux/config //开机时禁用
SELINUX=disable

步骤三:安装、启用zabbix主控机


1)安装依赖包+组件

[root@zbx ~]#yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

在这里插入图片描述

[root@zbx ~]# yum -y install php-bcmath php-mbstring //安装php支持zabbix组件

在这里插入图片描述

[root@zbx ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成ZABBIX相关的yum源文件,保证系统可以上网
[root@zbx ~]# yum install zabbix-server-mysql zabbix-web-mysql -y #安装zabbix组件

在这里插入图片描述


2)准备ZABBIX数据库与用户。

[root@zbx ~]# mysql -uroot -p
Enter password:
......
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'sss@123';

在这里插入图片描述


3)导入数据到数据库zabbix中

[root@zbx ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.27/create.sql.gz | mysql -uzabbix -p -h localhost zabbix
Enter password:
[root@zbx ~]#

如果zabbix数据库密码忘记,可编辑下列文件,修改密码

[root@zbx ~]# vim /etc/zabbix/zabbix_server.conf //编辑ZABBIX配置文件
[root@zbx ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf //确认修改结果

在这里插入图片描述


4)配置时区,并设置加入开机自启动zabbix-server

[root@zbx ~]# vim /etc/httpd/conf.d/zabbix.conf
将#php_value date.timezone Europe/Riga 变更成 php_value date.timezone Asia/Shanghai
[root@zbx ~]# systemctl enable zabbix-server --now //设置开机自启,并立即启动ZABBIX服务
[root@zbx ~]# netstat -anpt | grep zabbix //监听在10051端口上,如果没监听成功,可重启zabbix-server服务试试

在这里插入图片描述
在这里插入图片描述


步骤四:安装zabbix监控的Web前端系统


1)重启httpd服务以更新zabbix的网页配置

[root@zbx ~]# systemctl restart httpd
[root@zbx ~]#

2)从浏览器访问 http://192.168.10.156/zabbix/ 前端页面

在这里插入图片描述
单击Next step按钮,根据提示进行Zabbix监控的Web前端系统安装。
在这里插入图片描述
上图中所有检查项必须全部是OK!!!

输入前面创建的用户名和密码
在这里插入图片描述
接下来这个页面可以在Name处为你的zabbix系统起一个名字,或者不用起名直接单击Next Step继续。
在这里插入图片描述


3)确认安装设置,完成Web前端系统的安装

在这里插入图片描述
看到“Congratulations!”的提示,说明安装已经成功,单击Finish就可以结束安装了。
在这里插入图片描述


步骤五:安装、启用zabbix被控机

这里我使用KALI作为被控机。

root@KALI:~# apt-get -y install zabbix-agent

在这里插入图片描述


步骤六:调整被控机配置,允许主控机192.168.10.156采集数据

调整zabbix-agent配置文件,允许zabbix主控机(默认只允许自己127.0.0.1)来采集数据。

root@KALI:~# vim /etc/zabbix/zabbix_agentd.conf //编辑被控端文件
Server=192.168.10.156 //添加主控机地址,多个地址以逗号分隔
ServerActive=192.168.10.156 //添加主控机地址,多个地址以逗号分隔
Hostname=KALI.sss.cn //本机的主机名
root@KALI:~# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf //确认结果

在这里插入图片描述


步骤七:启动zabbix-agent被控服务

被控端服务zabbix-agent主要负责与主控端的zabbix-server通信,报告、提供需要的监控数据,相当于在被控机上安置的一个“卧底”。
为了顺利实现监控,需要启用zabbix-agent服务。

root@KALI:~# systemctl enable zabbix-agent.service --now //开机自启,并立即运行服务
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /lib/systemd/system/zabbix-agent.service.
root@KALI:~#

3 管理监控项


步骤一:确认zabbix登录页面,启动zabbix-server主控服务


1)以默认管理员Admin登录Zabbix平台

在这里插入图片描述
登录成功以后,可以看到英文版的zabbix监控网页。
在这里插入图片描述


2)将界面语言更改为“Chinese(zh_CN)”

单击zabbix监控页面右上方的头像标识,可以打开当前用户的属性设置页面。
单击“Language”右侧的下拉箭头,选择“Chinese(zh_CN)”,然后单击下方的“Update”按钮更新用户属性。
在这里插入图片描述
更新成功后,zabbix监控页面就会变成中文。
在这里插入图片描述


步骤二:检查“Zabbix Server”的监控项


1)查看被监控主机

单击zabbix监控页面上的“配置”–>“主机”,可以列出被监控主机。Zabbix平台默认已将本机添加为被监控对象,单击右上角 创建主机 添加被控机KALI。
注意:主机名为KALI的系统主机名
同时最好在 /etc/hosts,下做相应的映射。

root@KALI:~# hostnamectl
Static hostname: KALI.sss.cn //主机名称
Icon name: computer-vm
Chassis: vm
Machine ID: d6b913ac13654f269ae1a362b219135b
Boot ID: 8e18278fd39147198f9e8d5b921bc85b
Virtualization: vmware
Operating System: Kali GNU/Linux Rolling
Kernel: Linux 5.5.0-kali2-amd64
Architecture: x86-64
root@KALI:~# vim /etc/hosts
......
192.168.10.128 KALI KALI.sss.cn
192.168.10.156 zbx zbx.sss.cn

同理,在ZABBIX上也要做相应的映射。

创建被控机:
在这里插入图片描述
在这里插入图片描述


2)为KALI添加监控项模板

点击KALI的名称,在新窗口中选择模板。
在这里插入图片描述
选择Linux系统的模板。
在这里插入图片描述
在这里插入图片描述


3)选择Zabbix Server的监控项

可以看到此主机的各种监控项目。
在这里插入图片描述
zabbix本机默认已关联相关监控模板,自动添加了数十个监控项。

比如被控主机的可用性(检测zabbix-agent是否通信正常)、可用内存、CPU负载、登录用户数、运行进程数等等,可以参考如下信息。


  • 主机可用性:名称Agent ping,键值agent.ping
  • 可用内存:名称Available memory,键值vm.memory.size[available]
  • CPU负载(最近1分钟):名称Processor load (1 min average per core),键值s ystem.cpu.load[percpu,avg1]
  • CPU负载(最近1分钟):名称Processor load (1 min average per core),键值s ystem.cpu.load[percpu,avg1]
  • CPU负载(最近1分钟):名称Processor load (1 min average per core),键值s ystem.cpu.load[percpu,avg1]
  • 登录用户数:名称Number of logged in users,键值system.users.num
  • 运行进程数:名称Number of processes,键值proc.num[]

4)控制监控项

在监控项管理页面,不仅可以查看监控项,还可以禁用指定的监控项、或者删除用不到的自动发现的监控项。比如,可以把自动发现的针对虚拟接口virbr0的监控项删除。
在这里插入图片描述


步骤三:确认/添加对本机网卡(比如eth0)入站流量、出站流量的监控

常用的网络流量监控项采用 net.if.in[接口名] 和 net.if.out[接口名] ,分别表示入站流量、出站流量。比如要监控网卡ens33的流量,就可以配置以下监控项:


  • 入站流量:名称Incoming network traffic on ens33,键值net.if.in[ens33]
  • 出站流量:名称Outgoing network traffic on ens33,键值net.if.out[ens33]

网络接口的流量信息等监控项,一般稍等几分钟可以自动发现。自动发现的监控项会在名称前标注有橙色的“discovery”字样。
如果没有也可以自行创建:
在这里插入图片描述

在这里插入图片描述


步骤四:配置 icmpping 检查设备存活状态


1)在Zabbix Server上添加一个监控项,检测路由器102是否能ping通

在监控项管理页面,单击右上角的“创建监控项”页面,在接下来的设置页面中指定名称“路由器102存活状态”、类型选“简单检查”,然后选择好icmpping键值并正确修改检测参数,然后单击底部的“添加”就可以了。这里用KALI当作路由器。
在这里插入图片描述


2)再添加一个监控项,检测交换机103是否能ping通

这里192.168.10.2是网关,用来模拟一个交换设备
在这里插入图片描述


4 使用监控图形


步骤一:访问“图形”管理页

单击zabbix平台中的“配置”–>“主机”–>选中被监控主机–>“图形”,可以看到已经创建的监控图形(默认都是从模板创建的)。
在这里插入图片描述
zabbix 默认的绘图字体位于 /usr/share/zabbix/assets/fonts/graphfont.ttf,但是这个字体不支持在图片中写入汉字。因此,最好将其替换为能正常支持汉字的中文字体文件(比如文泉驿-正黑)。
乱码解决:

[root@zbx ~]# cp /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
cp:是否覆盖"/usr/share/zabbix/assets/fonts/graphfont.ttf"? y
[root@zbx ~]#

然后按F5键刷新图形查看页面,图形中的汉字就能够正常显示了。
在这里插入图片描述


步骤二:创建“网卡流量分析”,整合入站/出站流量数据


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

通过zabbix监控页的“配置”–>“主机”–>”“图形“–>创建图形”,使用网卡ens33的入站流量、出站流量两个监控项创建“网卡流量分析”监控图形。
在这里插入图片描述


2)查看“网卡流量分析”图形结果

单击zabbix平台的“监测”–>“图形”–>选择“网卡流量分析”图形,可以看到非常直观的、动态的流量图形。
在这里插入图片描述


步骤三:创建“路由器102状态”,监控路由器102的存活状态


1)添加“路由器102状态”图形

通过zabbix监控页的“监测”–>“图形”–>“创建图形”,使用“路由器102存活状态”监控项创建“路由器102状态”监控图形。
在这里插入图片描述


2)查看“路由器102状态”图形结果

单击zabbix平台的“监测”–>“图形”–>选择“路由器102状态”图形,可以看到监控结果,数值为1的线表示此设备可ping通,数值为0的线(如果有的话)表示不能ping通。
在这里插入图片描述


5 配置zabbix邮件告警

针对Zabbix服务器设置严重事件告警,当登录用户数超过5个或者运行进程数超过500个时,发送告警邮件给zabbix服务器的root用户。


  • 依次配置报警媒介、报警媒介类型、动作
  • 配置监控项及触发器
  • 模拟用户登录数超标(比如同时登录7个用户)
  • 在zabbix服务器上收取root用户的邮件,可以看到告警消息

方案

zabbix监控系统的事件通知机制。
在这里插入图片描述


步骤一:配置报警媒介类型(谁负责发送告警邮件、如何发送)

正确设置可用来发送电子邮件的服务器(这里选用本机自带的邮件服务)信息、发件人电子邮箱地址,以QQ邮箱为例。
为了确保QQ邮箱正常通过SMTP发送邮件,需要在用于发送报警信息的QQ邮箱中设置。
登录QQ邮箱主页 ,选择”设置“ -->账户–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
在这里插入图片描述
第二项IMAP/SMTP一般是默认关闭的,开启前需要使用邮箱关联的手机号发送信息到指定的号码。
在这里插入图片描述
发送信息后会返回一串授权码,该授权码用于后面ZABBIX Server中创建发件人时登录邮箱的密码。
出于安全考虑,第三方不能使用邮箱原始密码登录邮箱。
在这里插入图片描述
在这里插入图片描述

管理–>报警媒介类型–>Email,创建邮件报警的发件人。
这里填入的密码是上图获得的的授权码,切记!!!
在这里插入图片描述


步骤二:配置报警媒介(告警邮件发送给谁)

管理–>用户–>选择用户XX–>报警媒介–>添加。
在这里插入图片描述
在这里插入图片描述


步骤三:配置动作

配置–>动作–>创建动作。
比如,示警程度在“一般严重”以上时发送报警。
在这里插入图片描述

在这里插入图片描述


步骤四:配置监控项及触发器

配置–>主机–>选中主机–>触发器–>创建触发器。
比如,当登录用户数超过5个,允许任务书超过200个时,生成 “一般严重” 事件消息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
确认结果:
在这里插入图片描述


步骤五:模拟用户登录数超标

在被控主机Zabbix server上同时打开多个命令行终端,也可以使用SecureCRT、Putty等工具远程登录到Zabbix server服务,来模拟超过5个用户登录的情况。
具体过程略。
登录7个终端
在这里插入图片描述

查看当前任务数,可以看见当前的任务数远大于200。
在这里插入图片描述


步骤六:检查用户收到告警邮件消息

当设置的动作满足条件时,即发起对应的邮件告警操作,用户报警媒介对应的收件人电子邮箱中会收到通知邮件。
登录收件人的邮箱,可以收到报警邮件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同时,通过ZABBIX Server上 “监测”–>“仪表板”页面也会看到相应的问题报告。
在这里插入图片描述



推荐阅读
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了CentOS7编译mysql8.0.12相关的知识,希望对你有一定的参考价值。步骤一:安装 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • 【BUUCTF】[极客大挑战 2019]LoveSQL 详细题解总结笔记 Writeup
    【BUUCTF】[极客大挑战2019]LoveSQL一.SQL注入考点二.解题过程0.存在SQL注入1.万能密码adminor112.爆字段3.看回显4.爆数据库5.爆数据库的表6 ... [详细]
  • centos7如何利用yum安装mysql 8.0.12
    这篇文章将为大家详细讲解有关centos7如何利用yum安装mysql8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有 ... [详细]
author-avatar
我怀念的2502909393_663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有