Zabbix 安装使用说明

1. 环境准备

OS:Centos 7
Zabbix版本:4.0 LTS
MySQL版本:5.7
关闭防火墙
关闭selinux
服务端安装zabbix-server

2. 安装MySQL

2.1 配置YUM源

# 在MySQL官网下载YUM源和rpm安装包:
http://dev.mysql.com/downloads/repo/yum/ 下载MySQL源安装包
[root@cent7-1 zabbix]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装MySQL源
[root@cent7-1 zabbix]# yum localinstall mysql57-community-release-el7-8.noarch.rpm	
# 检查MySQL源是否安装成功
[root@cent7-1 zabbix]# yum repolist enabled | grep "mysql.*-community.*"

2.2 安装MySQL

[root@cent7-1 zabbix]# yum install mysql-community-server

2.3 启动MySQL

shell> systemctl start mysqld
# 查看MySQL 的启动状态
systemctl status mysqld

在这里插入图片描述

2.4 设置开机启动

shell> systemctl enable mysqld
shell> systemctl daemon-reload

2.5 修改root默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
必须启动过一次才会在日志文件中生成随机默认密码

shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword7!';

# 注:MySQL5.7密码字段为authentication_string,不是password字段
mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
如果在日志文件中无法找到MySQL生成的随机默认密码,则需要修改/etc/my.cnf配置文件,在[mysqld]下加一行skip-grant-tables
之后重启MySQL

systemctl restart mysqld.service

[root@7Core ~]# mysql -u root
mysql> use mysql;
mysql> update user set authentication_string = password(‘新密码’), password_last_changed=now() where user=‘root’;
mysql> exit

修改成功密码之后将/etc/my.cnf文件中的skip-grant-tables去除
再次重启MySQL服务
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
/etc/my.cnf 文件会在安装MySQL的时候自动生成,不建议修改其内容

参考:https://www.cnblogs.com/lgqboke/p/6873734.html?tdsourcetag=s_pcqq_aiomsg

3. 安装 zabbix-serrver

可参考官网教程
在这里插入图片描述

3.1 安装数据库

# rpm –Uvh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm
# yum clean all

3.2 安装Zabbix server,Web前端,agent

# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

3.3 创建初始数据库

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;
# 之后导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

3.4 修改zabbix_server.conf的配置文件

[root@zabbix-server ~]# grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

3.5 修改配置文件/etc/httpd/conf.d/zabbix.conf,时区改成 Asia/Shanghai

php_value date.timezone Asia/Shanghai

3.6 启动apache/zabbix-server服务并设置为开机启动

[root@cent7-1 zabbix]# systemctl start httpd
[root@cent7-1 zabbix]# systemctl enable httpd
[root@cent7-1 zabbix]# systemctl start zabbix-server
[root@cent7-1 zabbix]# systemctl enable zabbix-server

在这里插入图片描述

启动时可能出现的错误:
error while loading shared libraries:libmysqlclient.so.18
解决办法:
查看你的mysql安装目录下/安装目录/lib/libmysqlclient.so.18是否存在,如果存在,
做一个软链接到/usr/lib64/目录下
执行命令ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64

访问网站 http://ip/zabbix(可能需要关闭防火墙或者开放80端口)
可能出现的错误
在这里插入图片描述

解决方案:
使用yum解决依赖关系
执行命令yum install -y php-mysql.x86_64
重启MySQL服务
如果不重启的话下一步连接sql会报错,即使你的帐号密码都是对的
systemctl restart mysqld.service
systemctl restart httpd.service
必须全部是绿色的ok,然后根据提示操作。
操作完成,提示页面的设置的配置文件在 /etc/zabbix/web/zabbix.conf.php
最后用Admin账号登录,默认密码zabbix
在这里插入图片描述

在这里插入图片描述

参考:https://www.cnblogs.com/benjamin77/p/8589602.html

4. 安装zabbix-agent

安装zabbix-server之后,zabbix-server服务会自动可开启对本机的监控
如果想要监控另一台主机,安装agent即可(或者启用被监控主机的SNMP协议,则不需要安装agent),被监控主机不需要要安装server。
下面介绍yum安装agent的方法

4.1 按照官网教程获取rpm包

https://www.zabbix.com/download

4.2 安装Zabbix Agent

执行命令yum install zabbix-agent

安装完成后修改配置文件
Server=127.0.0.1 # Server端的IP地址,被动模式所接受的服务器Ip,此处是为了启用监听10050端口,从而监测到zabbix主机的zbx状态。
ServerActive=127.0.0.1 # zabbix server 端口10051可以默认。主动模式的服务器IP
StartAgents=1 #默认启动的zabbix_agentd pre-fork进程,如果为0的话表示停用被动模式
Hostname=ZabbixServer #必须与zabbix server端创建主机时候输入的zabbix agent端的host name一致
Server和ServerActive都要根据实际情况指定zabbix server的IP地址。Server是用来允许zabbix server的这个IP来主动取数据,ServerActive 是客户端主动提交数据给zabbix server端。

4.3 启动agent

执行命令 systemctl start zabbix-agent.service
因为agent使用了10050端口,因此需要开放10050端口

5. zabbix之企业微信报警通知

5.1 申请企业微信号

https://work.weixin.qq.com/wework_admin/register_wx?from=myhome_mp_home

请自行登录申请,申请成功之后需保存 AgentId、Secret、CoprID

5.2 编写脚本

#!/bin/bash
CropID='xxxxxxxxxxxxx'
Secret='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
#获取access_token
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body () {
   local Meg=$(echo "$@" | cut -d" " -f3-)
   echo """{
    \"touser\" : \"@all\",
    \"msgtype\" : \"text\",   
    \"agentid\" : xxxxxx,
    \"text\" : {           
        \"content\" : \"$Meg\"}   
}"""
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

注:CropID、Secret、agentid不要写错,报警时依然会显示发送成功,但是收不到报警消息

5.3 登录server端的web管理页面

添加报警媒介类型
在这里插入图片描述

注:脚本参数内容分别为{ALERT.SENDTO}、{ALERT.SENDTO}、{ALERT.SENDTO},ALERT后有一个点,名称可随意定义

映射用户触发(由哪个用户发送报警):
在这里插入图片描述
在这里插入图片描述
创建触发动作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 将报警脚本保存至zabbix脚本目录

执行命令查看脚本目录位置

grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf

在这里插入图片描述
执行命令

cd /usr/lib/zabbix/alertscripts

执行命令

vi weixin.sh

之后将脚本内容复制保存,并府赋予执行权限

5.5 测试

可自行创建触发器或者修改临界值进行测试
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43847004/article/details/89418578