zabbix的编译安装以及微信报警
admin
2023-06-05 22:21:36
0

    最近换了工作,开始事情还是比较多的,现在做个小结,给大家分享一下。

    入职新公司第一天部门领导就给安排了任务,布置一套zabbix监控系统,将公司防火墙,交换机以及所有在线服务器全部监控上,然后调用微信公众号发报警消息。zabbix我想大家不陌生,功能强大的企业级开源分布式监控软件,多种报警方式以及社区众多的监控模板使它备受欢迎,无论yum安装还是编译安装都不算难,由于以前没有搞过微信报警,也是上网查阅了相关资料后才得以解决,这些内容网上有很多,我在这里把我整个监控系统的搭建以及设置微信告警的步骤详细总结一下。


    一、编译安装zabbix 2.4

    zabbix 2.4版本已经不算是新版本了,大家可以试试3.X的版本,我采用的是2.4版本。

1、安装开发软件包
yum  -y groupinstall  "Development Tools"


2、安装所需的依赖包
yum -y install httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate  php-bcmath

(也可以将 Zabbix 安装在编译的 LAMP 环境下。


3、下载 Zabbix 源码包 (直接去官网下载比较好)


4、修改 Mysql 默认编码 ( 如果已经有库在运行的话,建议创建库的时候单独指定编码 )
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
character_set_server = utf8
  # 在此区域加入
[root@localhost ~]# service mysqld start
Starting MySQL.... SUCCESS!
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 35 mysqld on


5、更新系统时间
[root@localhost ~]# ntpdate us.pool.ntp.org && hwclock -w     # 最好做任务计划
[root@localhost ~]# crontab -l
10 * * * * /usr/sbin/ntpdate us.pool.ntp.org && hwclock -w > /dev/null 2>&1
[root@localhost ~]# service crond restart
[root@localhost ~]# chkconfig --add crond
[root@localhost ~]# chkconfig --level 35 crond on


6、安装 Zabbix
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -r -s /sbin/nologin -g zabbix zabbix
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar zxf zabbix-2.4.0.tar.gz
[root@localhost src]# cd zabbix-2.4.0
[root@localhost zabbix-2.4.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --enable-java --with-libxml2
## 编译参数说明
--enable-server      安装 zabbix server
--enable-proxy        安装 zabbix proxy (用来设定分布式部署)
--enable-agent       安装 zabbix agent  (不监控本机可以不装)

--enable-java       安装java套件,监控tomcat需要加上这个

--with-mysql           使用 mysql 数据库
--with-net-snmp    支持 snmp 协议 (用来监控各类网络设备)
--with-libcurl           支持 curl (用户 web 服务监控)
[root@localhost zabbix-2.4.0]# make & make install


7、创建并导入数据库
[root@localhost ~]# mysql -uroot -p123456
mysql> create database zabbix; ( create database zabbix character set utf8; )
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/p_w_picpaths.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/data.sql
mysql> show tables;
mysql> quit


8、配置服务[root@localhost ~]# cd /usr/local/src/zabbix-2.4.0
[root@localhost zabbix-2.4.0]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@localhost zabbix-2.4.0]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@localhost zabbix-2.4.0]# cp -r frontends/php/ /var/www/html/zabbix
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log        # 定义日志文件   默认有
DBName=zabbix                                  # 定义数据库名   默认有
DBUser=zabbix                                    # 定义数据库用户 默认有 (为了安全单独添加此库用户)
DBPassword=zabbix                          # 定义数据库密码 ( 生产环境你懂的 )


9、修改启动脚本中 zabbix 的安装目录
[root@localhost ~]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
[root@localhost ~]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix


10、启动服务并加入开机自动
[root@localhost ~]# /etc/init.d/httpd start
[root@localhost ~]# chkconfig --add zabbix_server
[root@localhost ~]# chkconfig --add zabbix_agentd
[root@localhost ~]# chkconfig --level 35 zabbix_server on
[root@localhost ~]# chkconfig --level 35 zabbix_agentd on
[root@localhost ~]# service zabbix_server start
[root@localhost ~]# service zabbix_agentd start
<===========================================================================>

二、使用浏览器进行初始化

访问: http://ip/zabbix

安装过程中需要更改php.ini的文件,如果databases support ,bcmath,gettext 出现fail的情况

这说明没有相应的 php 扩展,如果 php 是 yum 安装的,只需要 yum -y install php-mysqli php-bcmath php-gettext 即可;
如果是编译安装的,就要做以下操作:
1、找到 php 的源码包
[root@localhost src]# cd php-5.4.13/
2、进入相应扩展目录
[root@localhost php-5.4.13]# cd ext/mysqli  和 /bcmath/ 和 /gettext/
3、执行 phpize 命令
[root@localhost mysqli]# /usr/local/php/bin/phpize
4、生成 configure 后
[root@localhost mysqli]# ./configure --with-php-config=/usr/local/php/bin/php-config 
--with-mysqli=/usr/local/mysql/bin/mysql_config # 这个 --with-mysqli 只有添加 mysqli 扩展才用,其他两项只写第一个 with

[root@localhost mysqli]# make ; make install
5、创建引用目录
[root@localhost ~]# mkdir /usr/lib64/extensions
6、将其 cp 到目录
[root@localhost ~]# cp /usr/local/php/lib/php/extensions/no-debug-zts-20140525/mysqli.so 和 bcmath.so 和 gettext.so /usr/lib64/extensions/
7、修改 php.ini
[root@localhost ~]# vim /usr/local/php/php.ini
extension_dir = /usr/lib64/extensions/
extension = mysqli.so
extension = bcmath.so
extension = gettext.so

重启apache


因为版本的问题 , 2.2.x 系列以后没有显示中文选项 需要修改一个文件
[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php
54   'zh_CN' => array('name' => _('Chinese (zh_CN)'),     'display' => false),
# 我们需要将上面的 false 修改为下面的 true ,刷新页面就可以了。
54   'zh_CN' => array('name' => _('Chinese (zh_CN)'),     'display' => true),


由于篇幅过长,zabbix微信报警的设置单独写一章




相关内容

热门资讯

精密散热行业的技术跃迁:从“被... 在功率密度持续攀升、热流密度逼近物理极限的行业节点,精密散热已经从一个“辅助性功能模块”演变为决定系...
湖南衡阳发生火灾致5死1伤 5月24日0时45分,衡阳市祁东县上正社区一商铺发生火灾,造成5人死亡,1人受轻微伤,伤者正在积极救...
警惕!澳大利亚密集加码关键矿产... 5月18日,澳大利亚以“国家安全”为由,向北方矿业公司6名与中国有关联的股东发出强制出售令,要求在1...
AI行情狂热,三星电子未成年股... 近段时间,AI行情再次成为全球资本市场主线,但舞台中央的“主角”发生了变化:投资者不再只偏好云厂商和...
俄称乌无人机袭击卢甘斯克一学校... 当地时间5月23日,据俄罗斯紧急情况部通报称,遭乌方袭击的斯塔罗比尔斯克职业学院死亡人数升至21人,...
美加州故障化学品储罐持续升温,... 新华社洛杉矶5月23日电(记者高山 谭晶晶)美国加利福尼亚州南部奥兰治县官员23日说,当地21日开始...
真实感,AI时代写作的生命力所... AI时代,对于许多人来说,因为有了各种智能工具的加持,写作似乎变得容易了。通过提出命题、投喂内容,无...
一个以科技为名的节日,在一座深... 5月23日,2026年上海科技节在上海科技馆正式开幕,同日还将举办第五届上海科技传播大会,并见证上海...
原创 靠... 谁能想到,一笔眼看能让90后创始人躺赚140亿的AI公司收购案,会被商务部一记重拳紧急喊停。 江西小...
特朗普称美伊协议基本谈成 美东时间23日下午,美国总统特朗普在社交媒体发文,称美国与伊朗已经基本谈成一份协议。(央视记者 刘骁...