组件结构

- Zabbix_Server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及操作数据都由它组织。
- 数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
- Web界面:为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是 Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上(!如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上。)
- Zabbix_Proxy(可选):用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbixserver的压力。
- Zabbix_Agent:zabbix-agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbixproxy或zabbix-server。
安装zabbix 服务端(server1)
PS:关闭selinux、防火墙
准备yum源,安装服务的组件
[root@server1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@server1 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
准备数据库
安装数据库
[root@server1 ~]# yum install mariadb-server -y
[root@server1 ~]# systemctl start mariadb
[root@server1 ~]# systemctl enable mariadb
创建zabbix用户
[root@server1 ~]# mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by '000000';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
修改服务的配置
导入初始架构数据
[root@server1 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -D zabbix -p000000
#-D zabbix为导入的数据库为zabbix
为zabbix配置数据库
vim /etc/zabbix/zabbix_server.conf
DBPassword=000000
#添加密码,可通过/查找位置
编辑前端php配置
[root@server1 ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data ‐1
php_value date.timezone Asia/Shanghai #前面的都有,仅添这一行
启动服务
[root@server1 ~]# systemctl restart zabbix-server httpd
[root@server1 ~]# systemctl enable zabbix-server httpd
完成zabbix 服务端的部署,可以通过http://192.168.106.10/zabbix进行访问,初始化完成之后使用用户Admin 密码zabbix
初始界面:

在Configure DB connection页面输入zabbix用户的密码
在Zabbix server details页面输入Name Zabbix-server
其他均为Next step
PS:在右上角用户界面点开可以切换中文
解决报错

安装zabbix 服务端(server1)
安装软件包
[root@server1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@server1 ~]# yum install zabbix-agent -y
修改配置文件
[root@server1 ~]# vim /etc/zabbix/zabbix_agentd.conf
# 修改以下三个参数
Server=192.168.106.10
ServerActive=192.168.106.10
Hostname=Zabbix server
[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf
# 修改以下参数
ListenIP=0.0.0.0
在web上手动修改配置
仅仅修改配置文件仍会报错,需要web上再改一次

重启服务
[root@server1 ~]# systemctl restart zabbix-server zabbix-agentd httpd
#[root@server1 ~]# tailf /var/log/zabbix/zabbix_server.log
#[root@server1 ~]# tailf /var/log/zabbix/zabbix_agentd.log
#要是仍然报错就看两个日志都看看
安装zabbix 客户端(server2)
PS:关闭selinux、防火墙
安装软件包
[root@server2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@server2 ~]# yum install zabbix-agent -y
修改配置文件
[root@server1 ~]# vim /etc/zabbix/zabbix_agentd.conf
# 修改以下三个参数
Server=192.168.106.20
ServerActive=192.168.106.20
Hostname=Zabbix server
启动服务
[root@server2 ~]# systemctl start zabbix-agent
监控主机
添加主机

添加监控项
名称可以自拟,键值需要使用默认自带的或者自定义的

添加自定义监控项
检测nginx的status的监控项
[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
UserParameter=nginx_process_num,ps -ef | grep -c nginx
#检查nginx进程数量的监控项,加上此行
UserParameter=mysql_process_num, mysqladmin -uroot -predhat ping 2>/dev/null |grep -c alive
UserParameter=mysql_connections, mysql -uroot -predhat -e "show processlist;" 2>/dev/null | sed -n "2,$"p |wc -l
UserParameter=mysql_max_connections,mysql -uroot -predhat -e 'show variables like "max_connections";' 2>/dev/null |awk '{print $2}' |sed -n 2p
键值要与配置文件中的相同

添加触发器
名称自拟,选择严重性,添加监控项比较的数值

邮件告警
配置Email:管理->报警媒介类型->Email->修改对应Email参数

修改admin用户的报警媒介Email:管理->用户->Admin->报警媒介->添加接收报警邮件的邮箱->点击更新

配置发送异常报警邮件:配置->动作->创建动作->添加新的触发条件->添加新的操作->更新



Comments | NOTHING