二、zabbix部署和管理

二、zabbix部署和管理

2.1、二进制安装

官方安装文档:https://www.zabbix.com/documentation/4.0/zh/manual/installation/install/building_windows_agent_binaries

硬件配置参考

数据库端:
1、安装数据库

$ apt install mysql-server-5.7  mysql-client-core-5.7 -y
$ systemctl start mysql
$ systemctl enable mysql

2、配置监听地址

vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address            = 0.0.0.0

$ systemctl restart mysql
$ ss -ntl
LISTEN           0                 80                                  0.0.0.0:3306

创建数据库并创建授权访问用户

mysql>  create database zabbix_server character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix_server.* to zabbix@"%" identified by 'zabbix123';

客户端验证数据库

控制端导入数据库数据

$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -pzabbix123 -h192.168.7.104 zabbix_server

3、配置连接数据库配置

$ vi /etc/zabbix/zabbix_server.conf
DBHost=192.168.7.104
DBName=zabbix_server
DBUser=zabbix
DBPassword=zabbix123

3、启动服务

$ systemctl start zabbix-server.service 
$ systemctl enable zabbix-server.service 

#查看日志是否有报错信息,没有则为成功
$ ail /var/log/zabbix/*.log


#查看端口10051是否开启
$ ss -ntl
LISTEN           0                 128                                    [::]:10051

$ 重启apache2服务
systemctl restart apache2

验证访问

新建zabbix访问目录

$ mkdir /var/www/html/zabbix
$ cp -a /usr/share/zabbix/* /var/www/html/zabbix/

配置

配合信息确认

安装完成完成

登录管理页面:

默认账号:Admin

默认密码:zabbix

管理主页面

配置中文界面

Zabbix
英文Ubuntu系统安装中文支持
1、安装中文包
apt-get install language-pack-zh*

2、配置相关环境
vim /etc/environment

添加语言和编码的设置
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

我的配置文件
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
~                            
3、重新设置本地配置
dpkg-reconfigure locales

选择中文即可

2.2、源码安装

安装依赖包

 apt-get  install   apache2 apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core fping libapache2-mod-php   libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3   libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2-0 libodbc1 libopenipmi0 libsensors4 libsnmp-base libsnmp30 libsodium23 libssh2-1  libtiff5 libwebp6 libxpm4 php-bcmath php-common php-gd php-ldap php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli  php7.2-common php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline   php7.2-xml snmpd  ssl-cert ttf-dejavu-core      libmysqlclient-dev  libxml2-dev  libxml2 snmp  libsnmp-dev   libevent-dev  openjdk-8-jdk curl libcurl4-openssl-dev 

编译安装zabbix

tar -zxvf zabbix-4.0.12.tar.gz
useradd zabbix
cd zabbix-4.0.12/
./configure --prefix=/apps/zabbix 
    --enable-server 
    --enable-agent 
    --with-mysql 
    --with-net-snmp 
    --with-libcurl 
    --with-libxml2 
    --enable-java
make 
make install

数据库创建

$ apt install mysql-server-5.7  mysql-client-core-5.7 -y
$ mysql_secure_installation

2、修改监听端口
vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address            = 0.0.0.0
3、启动服务
 systemctl restart mysql
 systemctl enable msyql
 mysql_secure_installation 
 mysql -uroot -p123456
 
4、创建数据库
mysql> create database zabbix_server character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix_server.* to zabbix@192.168.7% identified by 'zabbix123';

mysql> flush privileges;

服务器端进行数据库初始化

/usr/local/src/zabbix-4.0.12/database/mysql目录下导入数据库文件进行初始化

mysql -uzabbix -pzabbix123 -h192.168.7.102 zabbix_server < schema.sql

mysql -uzabbix -pzabbix123 -h192.168.7.102 zabbix_server  < images.sql

mysql -uzabbix -pzabbix123 -h192.168.7.102 zabbix_server < data.sql

数据库验证

配置连接数据库配置文件

$ vim /apps/zabbix_server/etc/zabbix_server.conf
DBHost=192.168.7.102
DBName=zabbix_server
DBUser=zabbix
DBPassword=zabbix123

复制php文件到访问目录中

 $ mkdir /var/www/html/zabbix
 $ cp -a /usr/local/src/zabbix-4.0.12/frontends/php/*  /var/www/html/zabbix/

配置zabbix启动文件

可从客户端直接下载apt zabbix,然后复制到服务端

root@Zabbix-node1:~# cat /lib/systemd/system/zabbix-server.service 
[Unit]
Description=Zabbix Server (MySQL/MariaDB)
Documentation=man:zabbix_server
After=network.target mysql.service

[Service]
Type=simple
User=zabbix
Group=zabbix
ExecStart=/usr/sbin/zabbix_server --foreground
ExecReload=/usr/sbin/zabbix_server -R config_cache_reload
Restart=on-abnormal

[Install]
WantedBy=multi-user.target


#进行软链接
$ ln -sv /apps/zabbix_server/sbin/zabbix_server /usr/sbin/
# 启动服务
$ systemctl enable zabbix-server.service
$ systemctl start zabbix-server.service
$ systemctl start apache2

#验证10051和80端口是否开启
ss -ntl | grep 10051

访问zabbix的web界面

根据报错信息修改成要求配置

修改配置

根据图中建议参数修改即可

$ vim /etc/php/7.2/apache2/php.ini
PHP option "post_max_size"        post_max_size=16M
PHP option "max_execution_time"  max_execution_time = 300
PHP option "max_input_time"    max_input_time=300 
date.timezone =Asia/Shanghai

#重启apache服务
$ systemctl restart apache2

全部显示ok后进行下一步

连接数据库

连接服务端并命名

信息确认

会报错一个确实配置文件

将下载zabbix.conf.php文件放在/var/www/html/zabbix/conf即可,然后下一步

登录:

默认账号:Admin

默认密码:zabbix

web主页面

增加中文界面

Zabbix
英文Ubuntu系统安装中文支持
1、安装中文包
apt-get install language-pack-zh*

2、配置相关环境
vim /etc/environment

添加语言和编码的设置
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

我的配置文件
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
~                            
3、重新设置本地配置
dpkg-reconfigure locales

两步都选择中文支持

更新本地中文环境

复制字体到/var/www/html/zabbix/assets/fonts中

提取自己window主机字体

提取楷体字体

将默认字体修改成添加字体新名称

$ vim /var/www/html/zabbix/include/defines.inc.php
  70 define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name
 111 define('ZBX_FONT_NAME', 'simkai');

# 重启web服务
$ systemctl restart apache2

刷新界面选择中文即可

下载agent进行服务主机监控

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
# dpkg -i zabbix-release_4.0-2+bionic_all.deb
# apt update
$ apt install zabbix-agent
$ systemctl restart zabbix-agent.service
$ systemctl enable zabbix-agent.service

绿色即为成功

查看监控主机数据,有监控到数据即为完成安装

问题汇总:

1、设置简单密码,违反mysql安全策略(mysql5.7)

解决:

1、解决办法调整MySQL密码验证规则,修改 policy 和 length 的值。
2、MySQL 5.7 进行如下设置,即可解决问题:        
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

用户的基本信息

2.3、zabbix基本管理

2.3.1、 修改密码

2.3.2、创建用户群组

*为必填

2.3.3、创建用户

*为必填,别名就是登录名

权限-用户类型:

登录测试

2.3.4、添加主机群组

1、 配置(Configration) > 主机群组(Host groups) > 创建主机群组(Create host group)

2、 输出组名(Group) > 添加(Add)

2.3.5、添加主机

Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用

1、配置(Configuration) > 主机(Hosts), 查看已配置的主机信息 > 点击创建主机(Create host)以添加新的主机

2、 添加信息

3、 添加模板(Templates)

4、验证、需要等待

等不及,可到监控项、检查

5、 ZBX绿了,表示主机正常监控

2.3.6、添加监控

1、选中一个主机、查看监控项(ltems)

2、 创建监控项(Create item)

3、添写信息
名称:显示监控项的名称
键值:要监控的项,可以点右边的选择来挑选
信息类型:根据键值的返回值选择合适的类型

4、 点击添加 、验证

2.3.7、添加触发器

1、选择一个主机、选择触发器

2、创建触发器

3、 填写名称、选择严重性、和表达式

表达式

触发器列表

4、 测试,让CPU负载变高

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done

5、查看报警

监测 > 问题

2.3.8、添加图形

1、选择主机---》图形

2、创建图形

3、 添加监控项

4、查看图形

2.3.9、报警通知

设置邮件报警

1、创建媒介类型

2、填写项

3、查看报警媒介列表

4、关联用户

添加报警媒介用户信息

用户列表

2.3.10、创建动作

1、创建动作

2、添加触发动作

3、 添加新操作

恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

4、验证,关闭zabbix-agent服务

因为默认agent ping监控默认时间太久,可一更改下时间测试,然后主机的触发器调整即可

报警邮件

恢复邮件

实现分级报警

实现报警和恢复邮件通知

1、实现报警通知

"故障{TRIGGER.STATUS}:{HOSTNAME1}:{TRIGGER.NAME}"
"报警主机:{HOSTNAME1}
报警时间:{EVENT.DATE} {EVENT.TIME}
报警等级:{TRIGGER.SEVERITY}
报警信息:{TRIGGER.NAME}
报警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}

2、实现恢复通知

恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

测试关闭nginx和恢复nginx

关闭后通知

恢复后通知

2.3.11、agent主动模式监控类型

1、全克隆模版

2、克隆模版

点击全克隆,下图搞错了

3、修改模版名称

修改名称 > 添加

4、列表查看

5、 修改成主动模式,点击监控项

监控项>全选>批量更新

6、修改类型

7、 修改间隔时间,点击更新

8、 点击自动发现规则

9、 点击名称进入修改

10、 修改成主动式,更新

11、 箭头所指的地方都需要修改成主动式(监控项原型内还有多项)

12、 添加新的主机,过程略

原文地址:https://www.cnblogs.com/pansn/p/12602195.html