首页 技术 正文
技术 2022年11月20日
0 收藏 414 点赞 4,242 浏览 8583 个字

CentOS 6.5安装部署Zabbix监控系统

先说一点废话,我没有用centos7做实验,讲真,centos 7我也不常用,喜欢新版本的同学其实可以尝试下,注意一点的就是centos 6.5只支持到php5.3.3版本,不支持以上版本,当然,你要是编译安装的话也是可以的,反正centos 6.5和centos 7 部署的过程没差多少,喜欢用哪个系统,个人喜好而已。

本文实验环境信息:

zabbix_server(服务端): 10.0.10.120 CentOS 6.5-x86_64最小化

zabbix_agentd(客户端): 10.0.10.100 CentOS 6.5-x86_64最小化

Zabbix2.2.2(版本比较老,但是常用的功能都有了)

安装centos 6.5-x86_64

在这里,建议大家最小化安装,占用的资源比较少,就算缺某些常用的程序,还可以用yum安装嘛,安装的时候直接配置好网络参数,安装重启后就能直接用了,不然又要进去改,太麻烦

服务端分区建议采用以下的格式:

/boot 500M

swap 8G //这个根据自己的服务器内存大小来定

/var 30G //主要用来存放日志,也可以根据服务器的磁盘空间调整

/ 剩下所有空间

我一般装系统的时候直接让系统自动使用全部空间,生成的是基于LVM逻辑卷的分区,我直接修改,把/home去掉或者改动成别的分区,然后把根分区调整成使用全部空间。

装完后直接关掉iptables和selinux,不然后面会很麻烦

Zabbix_Server端安装

1.安装开发软件包

yum -y groupinstall  “Development Tools”

2.安装所需要的各种环境包

rpm-ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm //我用的版本没有nginx源,就网上找了一个

yum –y install php*

yum –y install mysql*

yum –y install nginxcurl curl-devel net-snmp net-snmp-devel wget vim

3.同步服务器的时间

ntpdate pool.ntp.rog //如果内网有NTP服务器也是可以用的

4.创建zabbix服务所需的用户和组

groupadd –g 201 zabbix

useradd –g zabbix –u 201 –m zabbix

5.mysql数据库环境准备

service mysqld start

chkconfig mysqld on

mysqladmin  -u root password “123456” //这里建议使用高复杂度密码

mysql –u root –p //输入密码登陆数据库

mysql>create database zabbix character set utf8;

mysql>insert into mysql.user(Host,User,Password)

values(“localhost”,”admin”,password(“123456”)); //创建用户

mysql>grant all privileges on zabbix.* to admin@localhost identified by ‘123456’;

//把创建的库授权给新用户

mysql>flush privileges; //刷新系统权限表

6.下载zabbix包

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz

tar –zxvf zabbix-2.2.2.tar.gz

cd zabbix-2.2.2

mysql –u admin –p 用admin账户导入zabbix数据库

mysql> source /root/zabbix-2.2.2/database/mysql/schema.sql

mysql> source /root/zabbix-2.2.2/database/mysql/data.sql

mysql> source /root/zabbix-2.2.2/database/mysql/images.sql

7.编译安装zabbix_server

./configure –prefix=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql

make && make install

8.将zabbix_server和zabbix_agentd服务加入到开机自启

cp misc/init.d/tru64/zabbix_agentd /etc/init.d/

cp misc/init.d/tru64/zabbix_server /etc/init.d/

chmod +x /etc/init.d/zabbix_*

vim /etc/init.d/zabbix_server和zabbix_agentd并且在#!/bin/bash下添加下面的两句

# chkconfig: – 95 95

# description: Zabbix Server

chkconfig –add zabbix_server

chkconfig –add zabbix_agentd

chkconfig zabbix_server on

chkconfig zabbix_agentd on

9.配置nginx+SSL环境,支持PHP访问等

chkconfig nginx on

cd ~/zabbix-2.2.2

mkdir –p /data/html/zabbix/

cp -a  frontends/php/* /data/html/zabbix/

chown -Rf  apache.apache /data/html/zabbix/

chmod –Rf 755 /data/html/zabbix/

mkdir –p /etc/nginx/cert

cd /etc/nginx/cert //创建自签名证书步骤

openssl genrsa -des3 -out nginx.key 2048

openssl req -new -key nginx.key -out nginx.csr

cp nginx.key nginx.key.org

openssl rsa -in nginx.key.org -out nginx.key

openssl x509 -req -days 365 -in nginx.csr -signkey nginx.key -out nginx.crt

vim /etc/nginx/conf.d/zabbix1.conf 写入一下内容

server {

listen       80;

server_name  localhost;

rewrite ^(.*)$ https://$host$1 permanent;

#为了安全起见,配置了80重定向到443

location / {

root   /data/html/zabbix/;

index  index.html index.htm index.php;

}

location ~ \.php$ {

root           /data/html/zabbix/;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /data/html/zabbix/$fastcgi_script_name;

include        fastcgi_params;

}

}

vim /etc/nginx/conf.d/zabbix2.conf 写入一下内容

server {

listen 443;

server_name localhost;

ssl on;

ssl_certificate /etc/nginx/cert/nginx.crt;

ssl_certificate_key /etc/nginx/cert/nginx.key;

ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

ssl_prefer_server_ciphers on;

location / {

root /data/html/zabbix/;

index index.html index.htm index.php;

}

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /data/html;

}

location ~ \.php$ {

root /data/html/zabbix/;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/html/zabbix/$fastcgi_script_name;

include fastcgi_params;

}

}

cd /etc/nginx/conf.d/

rm –rf default.conf

service nginx start

10.配置PHP环境

vim /etc/php.ini //修改以下参数

date.timezone = Asia/Shanghai

max_execution_time = 300

max_input_time = 300

post_max_size = 32M

memory_limit = 128M

service php-fpm start

chkconfig php-fpm on

11.配置zabbix_server.conf和zabbix_agentd.conf

vim /etc/zabbix/etc/zabbix_server.conf

DBHost=localhost

DBName= zabbix

DBUser=admin

DBPassword=123456

Logfile=/var/log/zabbix/zabbix_server.log

#加粗部分是必须内容,下面的内容根据自己的情况而定

StartPollers=30                         #开启多线程数,一般不要超过30个

StartTrappers=20                        #trapper线程数

StartPingers=10                         #fping线程数

StartDiscoverers=120

MaxHousekeeperDelete=5000

CacheSize=1024M      #用来保存监控数据的缓存数,根据监控主机的数量适当调整

StartDBSyncers=8        #数据库同步时间

HistoryCacheSize=1024M

TrendCacheSize=128M                     #总趋势缓存大小

HistoryTextCacheSize=512M

AlertScriptsPath=/etc/zabbix/alertscripts

LogSlowQueries=1000

vim /etc/zabbix/etc/zabbix_server.conf 写入以下内容

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=localhost

UnsafeUserParameters=1

LogFile=/var/log/zabbix/zabbix_agentd.log

touch /var/log/zabbix/zabbix_server.log

touch /var/log/zabbix/zabbix_agentd.log

chmod –Rf 755 /var/log/zabbix/zabbix_*

chown –Rf zabbix:zabbix /var/log/zabbix/zabbix_*

service zabbix_server start

service zabbix_agentd start

查看日志服务是否正常启动

tail –f /var/log/zabbix/zabbix_server.log

tail –f /var/log/zabbix/zabbix_agentd.log

12.网页管理配置

其实后台服务已经起来了,不过我们还需要最后一项配置,就是网页管理啊

浏览器中直接输入zabbix服务器的地址,就可以直接进入了,由于证书是自己生成并签名的,所以浏览器很可能不会通过。我们需要手动放行下。就能看到下面的这个页面了

点击下一步;

必须确认其中没有报错,否则不能进行下一步安装;

输入我们添加的数据库用户名和密码,主机直接写localhost,端口默认,测试连接是否成功,正确后直接点击下一步;

这里主机直接填写为localhost,因为服务器是能解析到自己的,所以不建议修改hostname,直接下一步,然后确认保存配置文件到本地,就能进入到管理页面了;

管理员默认密码是admin / zabbix

输入用户名和密码进行登陆;

好了,服务端已经安装完成了,由于初始的界面是因为的,我们需要自己调整。

点击右上角的profile,将语言调整为中文就OK了

Zabbix_agent客户端安装

其实大家也看到了,客户端安装也和上面的差不多,只是少了网页管理,配置文件和其他地方修改都是一样的

1、安装依赖软件包

yum -y groupinstall “Development Tools”

yum –y install ntpdate net-snmp net-snmp-devel wget vim

2、同步客户端时间

ntpdate pool.ntp.org

3、创建zabbix运行所需要的用户跟组

groupadd -g 201 zabbix

useradd -g zabbix -u 201 -m zabbix

4.下载安装zabbix_agent

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz

tar –zxvf zabbix-2.2.2.tar.gz

cd zabbix-2.2.2

/configure –prefix=/etc/zabbix –enable-agent

make && make install

5. 将zabbix_agentd服务加入到开机自启

cp misc/init.d/tru64/zabbix_agentd /etc/init.d/

chmod +x /etc/init.d/zabbix_*

vim /etc/init.d/zabbix_agentd并且在#!/bin/bash下添加下面的两句

# chkconfig: – 95 95

# description: Zabbix Server

chkconfig –add zabbix_agentd

chkconfig zabbix_agentd on

6.配置agentd客户端配置文件

vim /etc    /zabbix/etc/zabbix_agentd.conf 并写入以下内容

Server=10.0.10.100

ServerActive=10.0.10.100

#这里的IP地址为服务端的地址

Hostname=localhost

UnsafeUserParameters=1

LogFile=/var/log/zabbix/zabbix_agentd.log

7. 启动zabbix_agentd服务

touch /var/log/zabbix/zabbix_agentd.log

chmod –Rf 755 /var/log/zabbix/zabbix_*

chown –Rf zabbix:zabbix /var/log/zabbix/zabbix_*

service zabbix_agentd on

查看日志服务是否正常启动

tail –f /var/log/zabbix/zabbix_agentd.log

邮件告警设置

邮件报警有两种情况:

1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain),只能发送,不能接收外部邮件。

2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。

在这里,我只写第二种情况的设置步骤

service sendmail stop

chkconfig sendmail off

service postfix stop

chkconfig postfix off

yum install mailx -y

备注:

使用外部邮箱账号时,不需要启动sendmail或者postfix

如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱配置信息。

1.配置Zabbix服务端外部邮箱

vi /etc/mail.rc #编辑,添加以下信息,注意:信息根据自己的情况而定

set from=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.com smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo “zabbix test mail” |mail -s “zabbix” https://www.shuzhiduo.com/A/D854n0K2zE/yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:https://www.shuzhiduo.com/A/D854n0K2zE/yyy@163.com,这时候,邮箱https://www.shuzhiduo.com/A/D854n0K2zE/yyy@163.com会收到来自xxx@163.com的测试邮件

2.配置Zabbix服务端邮件报警

打开Zabbix

管理-示警媒介类型-创建媒体类型

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh

已启用:勾选

存档

3.设置Zabbix用户报警邮箱地址

管理-用户-Admin (Zabbix Administrator)

点击成员,切换到示警媒介-添加

类型:Sendmail

收件人:xxx@163.com

其他默认即可,也可

以根据需要设置

状态:已启用

存档

4.设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

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

恢复信息:

告警主机:{HOSTNAME1}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

5.添加Zabbix服务端邮件发送脚本

cd /etc/zabbix/share/zabbix/alertscripts #进入脚本存放目录

vi sendmail.sh #编辑,添加以下代码

#!/bin/sh

echo “$3” | mail -s “$2” $1

:wq! #保存退出

chown zabbix.zabbix /etc/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x /etc/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

6.测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

至此,Zabbix邮件报警设置完成。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,944
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,470
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,284
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,100
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,730
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,766