前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >实战干货!三千字长文,手把手教你!zabbix部署!

实战干货!三千字长文,手把手教你!zabbix部署!

作者头像
ICT系统集成阿祥
发布2024-12-03 16:51:19
发布2024-12-03 16:51:19
3K2
举报
文章被收录于专栏:数通数通

1.搭建LNMP环境

1.1检查系统环境

[root@zabbix ~]#cat /etc/redhat-release //查看CentOS版本

[root@zabbix ~]#cat /proc/version //查看存放与内核相关的文件

1.2升级centos7所有组件

[root@zabbix ~]#yum -y update

1.3关闭防火墙、selinux、重启系统

[root@zabbix ~]#systemctl stop firewalld.service //临时关闭firewall

[root@zabbix ~]#systemctl disable firewalld.service //禁止firewall开机启动

[root@zabbix ~]#setenforce 0 //临时关闭selinux

[root@zabbix ~]#vim /etc/selinux/config //#将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效

[root@zabbix ~]#getenforce //检测selinux是否关闭,Disabled 为关闭

[root@zabbix ~]#firewall-cmd --state //查看默认防火墙状态,关闭后显示not running,开启后显示running

1.4安装所需所有软体组件

Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。

[root@zabbix ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

[root@zabbix ~]# rpm -qa httpd php mariadb //安装完成后检查应用版本

1.5编辑httpd

[root@zabbix ~]# vim /etc/httpd/conf/httpd.conf

ServerName www.zabbixtest.com

DirectoryIndex index.html index.php

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

[root@zabbix ~]# vim /etc/php.ini

date.timezone = PRC //配置时区

1.7启动httpd,mysqld服务

//启动http和mysql服务

[root@zabbix ~]# systemctl start httpd //stop为停止

[root@zabbix ~]# systemctl start mariadb //开机自动启动http和mysql服务

[root@zabbix ~]# systemctl enable httpd

[root@zabbix ~]# systemctl enable mariadb

[root@zabbix ~]# ss -anplt | grep httpd //查看httpd启动情况,80端口监控表示httpd已启动

[root@zabbix ~]#ss -naplt | grep mysqld //查看mysqld启动情况,3306端口监控表示mysqld已启动 

1.8创建一个测试页,测试LAMP是否搭建成功

[root@zabbix ~]# vim /var/www/html/index.php //创建一个测试页,并编辑

<?php

phpinfo()

?>

输入完:wq保存退出。

在浏览器输入主机地址,可以弹出下面表示正常

1.9初始化mysql数据库,配置root用户密码

[root@zabbix ~]# mysqladmin -u root password Huawei@WUnengcan123. //设置数据库root密码

[root@zabbix ~]# mysql -u root -p //root用户登陆数据库

MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin; //创建zabbix数据库(中文编码格式)

MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix01'@'%' IDENTIFIED BY 'Huawei@WUnengcan123.';

//授予zabbix01用户zabbix数据库的所有权限,密码123456

MariaDB [(none)]> flush privileges; //刷新权限

MariaDB [(none)]> select user,host from mysql.user; //有空用户名称占用导致本地无法登录远程可登录

MariaDB [(none)]> drop user ''@localhost; //删除空用户

MariaDB [(none)]>quit

1.10测试数据库连接,测试zabbix01用户是否能够登陆数据库

[root@zabbix ~]#vi /var/www/html/index.php //设置数据库root密码

<?php

$link=mysql_connect('139.9.144.152','zabbix01',' Huawei@WUnengcan123.');

if($link) echo "<h1>Success!!</h1>";

else echo "Fail!!";

mysql_close();

?>

//显示Success表示连接数据库成功

2.zabbix服务安装

2.1安装依赖包 + 组件

[root@zabbix ~]#yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

[root@zabbix ~]#yum install php-bcmath php-mbstring -y //安装php支持zabbix组件

[root@zabbix~]#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm //zabbix主程序包

[root@zabbix ~]#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y //安装zabbix组件

zabbix-server-mysql //提供zabbix-server服务 zabbix-proxy-mysql //提供zabbix的代理服务,可以实现分布式监控,减轻zabbix-server的压力 zabbix-web-mysql //提供httpd服务 zabbix-get //提供检查是否能正确获取到zabbix的监控脚本key的监控值 zabbix-agent //提供zabbix-agent服务

2.2导入数据到数据库zabbix中

先找zabbix下载下来的数据库压缩包(每个人电脑可能有所不同,所以这比较重要,不然后面会失败)

[root@zabbix ~]# cd /usr/share/doc/zabbix- //为了找对应文件夹,可以不用按回车进入目录

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix01 -p zabbix //Zabbix是数据库名称,zabbix01是数据库用户名,回车后会提示输入密码

[root@zabbix ~]#reboot

2.3配置数据库、修改php时区

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf //配置数据库用户及密码

DBHost=localhost

DBName=zabbix

DBUser=zabbix01

DBPassword=Huawei@123

:wq保存退出

[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf //修改时区

将 php_value date.timezone Europe/Riga 变更成php_value date.timezone Asia/Shanghai

2.4启用zabbix服务

[root@zabbix ~]#systemctl enable zabbix-server //开机启用服务

[root@zabbix ~]#systemctl start zabbix-server //启用zabbix服务

2.5登陆web配置zabbix

报错:The requested URL /zabbix was not found on this server.

解决:https://www.cnblogs.com/Caiyundo/p/10254239.html

2.6汉化

到win系统里,复制系统的“微软雅黑”字体改名为DejaVuSans.ttf,复制到linux此目录下替换目标/usr/share/fonts/dejavu/DejaVuSans.ttf

3.监控本机和备机

3.1 监控本机

[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf //配置angent配置文件

Server=192.168.0.107 //服务器地址

ServerActive=192.168.0.107 //服务器地址

Hostname=192.168.0.107 //服务器地址

[root@zabbix ~]# systemctl start zabbix-agent //重启zabbix-agent。看到ZBX绿色表示监控成功

在界面上还需要配置zabbix server的IP和端口才行

3.2检测备机

进入wbe检测界面,右上角点击新建wbe检查

检测短信平台和其它wbe站点的方式和检测zabbix02的反是一样。

4.安装邮件发送邮件(https://blog.csdn.net/djhsun/article/details/78731683)(https://blog.csdn.net/leonnew/article/details/80813947

4.1安装Mail

yum -y install Mail

systemctl start mail

systemctl enable mail

4.2配置 /etc/mail.rc

Vim /etc/mail.rc

set from=1324023406@qq.com #发送邮件的邮箱

set smtp=smtps://smtp.qq.com:465 #公有云上的25端口会封,要使用ssl加密

set smtp-auth-user=1324023406@qq.com #邮箱账号

set smtp-auth-password=授权码 #如果是网易,QQ等邮箱,此处应填写授权码

set smtp-auth=login #登陆

set nss-config-dir=/etc/pki/nssdb/ #SSL证书位置

set smtp-user-starttls

set ssl-verify=ignore

4.3生成SSL证书到/etc/pki/nssdb/

mkdir -p /etc/pki/nssdb/

echo -n | openssl s_client -connect.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/etc/pki/nssdb/qq.crt

certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb-i/etc/pki/nssdb/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb -i /etc/pki/nssdb/qq.crt

certutil -L -d /etc/pki/nssdb

在/etc/pki/nssdb目录下执行:

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

4.4测试邮件是否发送成功

echo "Hello" | mail -v -s "test" 1324023406@qq.com

5.配置zabbix邮件发送脚本

5.1查看zabbix脚本存放的位置

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf

5.2创建发送邮件脚本:

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts

[root@zabbix ~]# vim mail.sh

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

echo "

[root@zabbix alertscripts]# ll

total 4

-rw-r--r-- 1 root root 138 Jul 25 17:44 sendmail.sh

[root@zabbix alertscripts]# chown zabbix.zabbix /usr/lib/zabbix/alertscripts/mail.sh

#sendmail.sh脚本修改所属用户和用户组

[root@zabbix alertscripts]# ll

total 4

-rw-r--r-- 1 zabbix zabbix 138 Jul 25 17:44 sendmail.sh

[root@zabbix alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.sh

#sendmail脚本赋予执行权限

[root@zabbix alertscripts]# ll

total 4

-rwxr-xr-x 1 zabbix zabbix 138 Jul 25 17:44 sendmail.sh

5.3测试邮件是否能正常发送,执行后检查邮箱是否收到邮件

[root@zabbix ~]# echo "test" | mail -s 'test linux' 1324023406@qq.com

5.4 Zabbix控制台配置:

{ALERT.SENDTO}:收件人地址

{ALERT.SUBJECT}:主题

{ALERT.MESSAGE}:详细内容

5.6配置用户告警通知方式:

管理à用户àadmin

报警媒介à添加à填写对应信息à点击“添加”à最后回到刚才的页面,点击”更新”

6.配置监控告警(这里以配置工单系统为例):

参考文档:https://blog.csdn.net/leonnew/article/details/80813947,配置的大概流程思路如下图:

6.1 配置监控项:配置à主机à监控项。

6.2配置触发器:配置à主机à触发器

6.3配置动作:

默认标题:Resolved: {TRIGGER.NAME}

消息内容:

探测位置:华为云-广州区

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

事件 ID:{EVENT.ID}

默认标题:Resolved: {TRIGGER.NAME}

消息内容:

探测位置:华为云-广州区

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

事件 ID:{EVENT.ID}

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ICT系统集成阿祥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档