zabbix 总结

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

进入官网:https://www.zabbix.com/

更多详细内容请参考官方说明文档,详细的安装要求就不贴出来了。

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
View Code

 

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页面,停用自动发现规则

停用自动发现动作

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

创建自动注册

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

设置动作

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

下图中的状态为已启用

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

同时,邮箱也收到了邮件

 

本文参考自:

(1)http://www.361way.com/zabbix_auto_registration/6011.html

(2)https://blog.csdn.net/Hannah_zh/article/details/83828117

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

再次刷新发现已经变成中文了

posted @ 2020-03-17 13:41  AnthonyWang  阅读(283)  评论(0)    收藏  举报