zabbix 总结
一、下载zabbix,进行安装部署



更多详细内容请参考官方说明文档,详细的安装要求就不贴出来了。
https://www.zabbix.com/documentation/4.0/zh/manual/installation/requirements
1、配置zabbix的yum源
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum clean all
2、安装zabbix-server、mysql、zabbix-agent
注意:安装时若没有安装PHP环境,会自动安装PHP相关的包和httpd,因为zabbix的Web管理页面是PHP写的
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
3、进入MySQL数据库并设置开机启动,创建数据库实例,授权
mysql -u root -p
password
mysql> create database zabbix character set utf8 collate utf8_bin; # 创建一个数据库
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; # 授权zabbix用户拥有zabbix数据库的所有权限
mysql>flush privileges; # 刷新数据库权限表
mysql> quit;
4、导入初始模式和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p
这一步我遇到了错误:ERROR 1046 (3D000) at line 1: No database selected
解决方法,
使用如下命令导入Zabbix数据库时报错 解决办法: 编辑要导入的数据库文件 vim /usr/share/doc/zabbix-server-mysql-4.0.7/create.sql.gz # 在第一行加上 use zabbix; 如下图所示: 保存退出! 然后重新导入MySQL数据库即可。注意:导入过程可能会持续几秒。 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p
5、配置zabbix-server的配置文件zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
# DBPassword=password(124行)
DBHost=localhost # 数据主机名
DBName=zabbix # 数据库实例
DBUser=zabbix # 数据库里创建的用户名
DBPassword=zabbix # 数据库里创建的密码
6、编辑Apache的配置文件,设置正确的时区
vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga(20行)
改成 php_value date.timezone Asia/Shanghai
7、重新启动 zabbix-server、zabbix-agent 和 httpd 并设置为开机自启动
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
在浏览器输入地址http://服务器ip/zabbix/setup.php,出现欢迎界面,点击下一步,进行 zabbix 的页面初始化配置


注意:这个页面PHP设置要求全部OK

如果密码输错,是跳转不到下一步的。密码是前面设置的 zabbix

注意:这个“Zabbix server detail”页面中,”Name”处可填写对此监控系统的描述性文字,支持中文,有点像网站的名称,设置好后的效果如下图所示。



第一次登录zabbix监控系统,默认用户名 Admin(注意 A 大写),默认密码 zabbix,确认可正常登录系统

登录进入系统后,确认 Zabbix server is running 的值是 Yes
如果 Zabbix server is running 的值是 No,可以通过查看它的日志文件(/var/log/zabbix/zabbix_server.log)找错误原因

然后选择 Administrator –> Users –> Admin,可以对页面语言和用户密码等进行设置


刷新页面,就可以看到监控系统已设置为中文界面了。

到此安装部署就结束了!
Zabbix4.0 第三方报警平台CI监控报警
服务器安装配置好zabbix4.0。接下来将睿祥云接入 Zabbix,
进入https://caweb.aiops.com/注册账号并且登录
在左侧栏,配置—>应用—>添加应用—>选择ZABBIX

创建获取key


系统会自动生成一键安装脚本

接着登录到zabbix server服务器,安装onealert Agent
1、查看zabbix脚本目录:
vim /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath

2、切换到zabbix脚本目录:
cd /usr/lib/zabbix/alertscripts
3、获取OneITSM agent包:
wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz
4、解压、安装。
tar -zxf oneitsm_zabbix_release-1.2.0.tar.gz
cd oneitsm/bin
bash install.sh 个人生成key
注:在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码。

5、当提示“安装成功”时表示安装成功!
打开zabbix的Web页面,管理—>报警媒介类型,就能看到刚安装的脚本。

Zabbix4.0自动发现和自动注册并加入监控
在需要监控的主机较多的时候,配置Zabbix自动发现或者自动注册并加入监控可以代替手动的添加主机,减轻工作量,Zabbix提供两种批量自动监控的方式:
(1)自动发现:由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。实现自动发现主机、自动将主机添加到主机组、自动加载模板、自动创建项目(item)、自动创建图像等功能。
(2)自动注册:由客户端主动发起,客户端必须安装并启动Zabbix agent,否则无法被自动注册添加至主机列表。
也可以根据需要,在对主机安装系统的时候就安装配置并启动Zabbix agent服务,这样的话只要主机系统安装完成,便会自动加入监控。
一、主动发现
在需要监控的主机上安装Zabbix客户端
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all
yum -y install zabbix-agent
修改Zabbix客户端配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=Zabbix服务器IP地址(第98行)
# 注释掉下面的一行
# ServerActive=127.0.0.1(第139行)
保存退出!
# 启动Zabbix agent
systemctl start zabbix-agent
# 加入开机启动
systemctl enable zabbix-agent
在Zabbix服务端Web页面上配置邮件通知
配置发件人邮箱,依次点击:管理—>报警媒介类型—>Email

填写邮箱服务器的地址、端口、以及邮箱用户名称和密码(客户端授权码)等,并勾选已启用

配置收件人邮箱,依次点击:管理—>用户,点击要收到邮件的用户

点击报警媒介—>添加,填写收件人邮箱地址,其余的根据需要选择,点击添加—>更新

创建自动发现
创建自动发现规则
依次点击:配置—>自动发现—>Local network

点击克隆

修改自动发现规则的名称
修改server端所扫描的主机IP地址范围,例如主机所在的范围为192.168.5.50-60
修改更新间隔
检查项不必修改,默认即可
设备唯一性准则选择IP地址
勾选已启用
点击添加

下图中的状态为已启用

创建发现动作
依次点击:配置—>动作,选择事件源为自动发现,点击 Auto discovery. Linux servers.

点击克隆

修改动作名称
修改动作触发条件
勾选已启用
点击添加

提示动作已添加,点击新添加的动作名称

选择操作,设置操作细节

在操作类型处选择添加主机,点击添加

在操作类型处选择发送消息,当主机自动发现并添加监控的时候自动给管理员发送邮件提示,选择要发送邮件的用户,并去掉勾选消息内容,这样收到的邮件才有内容,点击添加

最后,点击更新

下图中的状态为已启用

这时Zabbix服务端的配置就完成了
在Zabbix服务器的Web页面上等待自动发现主机并添加监控
点击监测—>自动发现,等待发现主机

发现主机成功后会自动在配置—>主机列表中加入发现的主机并添加监控

同时,邮箱也收到了邮件

注意:自动发现会一直触发发送邮件,这个一般只是在新装Zabbix,需要批量加主机时使用的,发现完成之后需要关掉。
二、主动注册
修改Zabbix客户端配置文件
Server=Zabbix服务器IP地址(98行)
ServerActive=Zabbix服务器IP地址(139行)# 主动模式
Hostname=自定义主机名(150行)# 如果这一项注释掉,主动注册时Zabbix服务器默认使用Zabbix客户端的系统主机名在Web页面—>配置的主机列表里命名主机,为防止主机名冲突,建议每台客户端设置不一样的主机名,这里的主机名和系统主机名可以不一样。
HostMetadataItem=system.uname(180行)# Zabbix动态key配置
查看Agent端所有配置项
[root@CentOS7 ~]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.5.57
ServerActive=192.168.5.57
Hostname=Web01
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
# 重启Zabbix agent
systemctl restart zabbix-agent
回到Zabbix服务端Web页面,停用自动发现规则

停用自动发现动作

删除自动添加进主机列表中的主机

创建自动注册
配置—>动作—>自动注册—>创建动作

设置动作

接着设置动作具体操作,在操作细节处设置添加主机,添加到主机群组,与模板关联,发送消息等。

下图中的状态为已启用

在配置—>主机,等待自动注册结果

同时,邮箱也收到了邮件

本文参考自:
Zabbix agent主动模式与被动模式的区别
Zabbix agent的运行模式有以下两种:
1、被动模式:此模式为Zabbix默认的工作模式,由Zabbix server 向Zabbix agent 发出指令获取数据,Zabbix agent被动地去获取数据并返回给Zabbix server,Zabbix server会周期性地向agent索取数据。此模式的最大问题就是会增加Zabbix server的工作量,在大量的服务器环境下,Zabbix server不能及时获取到最新的数据。
2、主动模式:即由Zabbix agent 主动采集数据并返回给Zabbix server,不需要Zabbix server 的另行干预,因此使用主动模式能在一定程序上减轻Zabbix server的压力。
Zabbix_server端当主机数量过多的时候,会怎么样
Zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题
所以下面主要往两个优化方向考虑
1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式
由于第一个方案需要增加物理机器,所以首先尝试第二方案。
一、被监控端 zabbix_agentd.conf 的配置调整
LogFileSize=0 # Agent产生日志大小控制,日志达到多少M里就轮转;此参数值默认为0,则不轮转,日志将不断变大,数字范围(0-1024M)视情况是否设置成轮转
# Server=192.168.5.57 # 如果设置为纯主动模式,则应该注释掉这一条配置
StartAgents=0 # 客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口,所以无法在 netstat -tunpl 中查看到zabbix_agentd进程
ServerActive=192.168.5.57 # 主动模式的Zabbix服务器IP地址
Hostname=Web01 # 重要:客户端的hostname,不配置默认使用系统主机名
RefreshActiveChecks=120 # 被监控端到服务器获取监控项的周期,默认120s即可
BufferSize=100 # 被监控端在内存中保存采集数据的容量大小
Timeout=3 # 超时时间
查看zabbix_agentd.conf 的最终配置
[root@CentOS7 ~]# grep -v ^# /etc/zabbix/zabbix_agentd.conf |grep -v ^$
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.5.57
Hostname=Web01
Include=/etc/zabbix/zabbix_agentd.d/*.conf
注:纯主动模式下的Zabbix agent,只能支持Zabbix Agent (Active)类型的监控项。
二、调整监控模板
建议完整克隆一个Template OS Linux 模板来改
1.点击Template OS Linux 模板名称

点击下方的全克隆

修改模板名称,点击最下方的添加

进入模板列表找到刚才添加的模板并点击监控项

全选,点击批量更新

类型打钩,选择Zabbix客户端(主动式),点击最下方的更新

配置—>主机—>点击要设置的主机名称—>模板
选择取消原来的链接并清理,点击选择

添加刚才的模板(Template OS Linux-Active)

点击更新

在配置—>主机,查看主机可用性,ZBX显示为红色

在检测—>图形,查看主机已经监控上了

如何查看zabbix客户端是主动模式还是被动模式
查看监控主机的监控项类型

在类型处可以看到Zabbix客户端是主动模式还是被动模式

本文参考自:
(1)https://blog.csdn.net/qq_38484607/article/details/99086067
(2)https://blog.csdn.net/weixin_39845407/article/details/80764200
打开图形之后会发现语言为乱码,原因是缺少字体

解决方法:安装字体并替换现有字体
yum install wqy-microhei-fonts -y
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
再次刷新发现已经变成中文了

浙公网安备 33010602011771号