侧边栏壁纸
  • 累计撰写 59 篇文章
  • 累计创建 52 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

zabbix-4-0部署

木东
2018-12-05 / 0 评论 / 0 点赞 / 46 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 部署LAMP环境

由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。

yum install -y \     //安装LAMP环境包
httpd \
mariadb-server mariadb \
php \
php-mysql \   //php连接mysql模块
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash

编辑配置httpd

vim /etc/httpd/conf/httpd.conf
ServerName www.yun.com
...
DirectoryIndex index.html index.php   //添加首页支持格式

编辑配置php,配置中国时区

vim /etc/php.ini
date.timezone = PRC    //PRC为中国时区

启动httpd,mysql

systemctl stop firewalld.service
setenforce 0
systemctl start httpd.service
systemctl start mariadb.service
netstat -ntap | egrep '(80|3306)'

配置MariaDB数据库

mysql_secure_installation
# 首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车

# 设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

# 其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,测试登录

mysql -uroot -p123456

创建zabbix数据库

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all  ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';    //创建zabbix数据库,并设定用户密码
flush privileges;

数据库设置完成,检测php与数据库连通情况

vim /var/www/html/index.php
<?php
$link=mysql_connect('192.168.200.104','zabbix','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

访问地址:http://192.168.200.104,出现 Success!! 则PHP连通数据库完成。

为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:

使用root账户登录数据库。

select user,host from mysql.user;   //有空用户名称占用导致本地无法登录远程可登录
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|        | cacti     |
| root   | cacti     |
|        | localhost |
| root   | localhost |
+--------+-----------+

drop user ''@localhost;  //删除空用户
drop user ''@cacti;
flush privileges;

2. 部署Zabbix Server

yum install php-bcmath php-mbstring -y      # 安装php支持zabbix组件
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm # 会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y     # 安装zabbix组件
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix  # 生成数据库文件,注意密码不要输成root的,zabbix用户密码为admin123

查看、修改zabbix配置文件

grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf

38:		LogFile=/var/log/zabbix/zabbix_server.log
49:		LogFileSize=0
72:		PidFile=/var/run/zabbix/zabbix_server.pid
82:		SocketDir=/var/run/zabbix
101:	DBName=zabbix        # 访问数据库名称
117:	DBUser=zabbix        # zabbix访问数据库用户
125:	DBPassword=admin123  # 配置文件中只需修改本行,zabbix访问数据库密码
347:	SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:	Timeout=4
507:	AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:	ExternalScripts=/usr/lib/zabbix/externalscripts
553:	LogSlowQueries=3000

修改zabbix在httpd中的时区

vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别

cp STKAITI.TTF /usr/share/zabbix/fonts/

使zabbix系统识别字体

vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g   # 采用全局替换模式

zabbix基本配置完成,启动服务,实现web界面安装

systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //监听在10051端口上
systemctl restart httpd.service

web界面安装访问:

http://192.168.200.104:81/zabbix/

web界面安装流程如下:

  • 1).设置数据库和zabbix server信息
  • 2).初始用户密码为:Admin/zabbix

3. 安装zabbix-agent 被监控端代理

安装zabbix-agent客户端:

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install -y zabbix-agent

编辑修改配置文件

grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf

vim /etc/zabbix/zabbix_agentd.conf
13:		PidFile=/var/run/zabbix/zabbix_agentd.pid
32:		LogFile=/var/log/zabbix/zabbix_agentd.log
43:		LogFileSize=0
98:		Server=192.168.144.113         # zabbix服务器地址
139:	ServerActive=192.168.144.113   # 活跃服务器地址
150:	Hostname=test
268:	Include=/etc/zabbix/zabbix_agentd.d/*.conf

关闭防火墙,启动服务

systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

netstat -anpt | grep zabbix //监听在10050端口

4. 配置邮箱报警功能

4.1 配置自动邮箱发送

yum install mailx -y
vim /etc/mail.rc # 编辑mailx配置文件
set from=xxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=邮箱密码
set smtp-auth=login

测试邮箱软件是否可用

echo "hello world" | mail -s "testmail" xxx@qq.com # 测试发信正常

4.2 编写邮件发送脚本

邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。

vim /usr/lib/zabbix/alertscripts
#!/bin/bash
# send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

测试发邮件脚本是否可以正常工作

./mailx.sh xxx@qq.com "主题" "内容"
0

评论区