centos7 安装zabbix3(安装已结束,web端错误持续更新中)

1. 创建linux用户,安装数据库(默认无密码),安装nginx并设为自启动,相关软件先上传

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
yum -y install net-snmp-devel libxml2-devel libcurl-devel


wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y
service mysqld start


cd /app1/software
tar xvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/app1/nginx --sbin-path=/app1/nginx/sbin --with-http_ssl_module  --with-http_stub_status_module
make && make install
rm -rf /app1/nginx/sbin
mkdir /app1/nginx/sbin
cp /app1/software/nginx-1.8.0/objs/nginx /app1/nginx/sbin/



vi /usr/lib/systemd/system/nginx.service
增加
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
ExecStart=/app1/nginx/sbin/nginx
ExecReload=/app1/nginx/sbin/nginx -s reload
ExecStop=/app1/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target


vi /etc/rc.d/init.d/nginx
#!/bin/bash
# chkconfig:235 85 15
# description: Nginx is an HTTP server
. /etc/rc.d/init.d/functions
start() {
        echo "Start..."
        /app1/nginx/sbin/nginx &> /dev/null
        if [ $? -eq 0 ];then
                echo "Start successful!"
        else
                echo "Start failed!"
        fi
}

stop() {
        if killproc nginx -QUIT ;then
                echo "Stopping..."
        fi
}
 
restart() {
        stop
        sleep 1
        start
}

reload() {
        killproc nginx -HUP
        echo "Reloading..."
}
 
configtest() {
        /app1/nginx/sbin/nginx -t
} 

case $1 in
start)
        start ;;
stop)
        stop ;;
restart)
        restart ;;
reload)
        reload ;;
configtest)
        configtest ;;
*)
        echo "Usage: nginx {start|stop|restart|reload|configtest}"
        ;;
esac


然后执行
systemctl daemon-reload
systemctl start nginx.service
systemctl status nginx.service
systemctl enable nginx.service


2.创建数据库用户并赋权

mysql -uroot

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
quit;


3.安装服务并导入数据

yum -y install mysql-devel
wget --no-check-certificate https://pilotfiber.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz
tar xf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3
./configure --prefix=/app1/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-gettext
make && make install


cd /app1/software/zabbix-3.2.3/database/mysql/
mysql -uzabbix -pzabbix zabbix< schema.sql
mysql -uzabbix -pzabbix zabbix< images.sql
mysql -uzabbix -pzabbix zabbix< data.sql

 

4.修改配置(PID和log地址改不改随意)

vi /app1/zabbix/etc/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1
AlertScriptsPath=/app1/zabbix/share/zabbix/alertscripts

 

5. 添加web并设定域名

mkdir /app1/zabbixweb
cp -rp /app1/software/zabbix-3.2.3/frontends/php/* /app1/zabbixweb
vi /app1/nginx/conf/nginx.conf

修改为
worker_processes  4;
use epoll;

添加
server {
        listen 80;
        server_name jk.zabbix.com;
        access_log /app1/zabbix/logs/zabbix.access.log access;

        index index.html index.php index.html;
        root /app1/zabbixweb;

        location /
        {
        try_files $uri $uri/ /index.php?$args;
         }

        location ~ ^(.+.php)(.*)$ {
        fastcgi_split_path_info ^(.+.php)(.*)$;
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        }
        }

然后重启nginx
service nginx restart

如已安装php则不需要安装php,否则需要安装下php,如有php5,可考虑删除老的,再安装php7
yum list installed | grep php
yum remove php
yum remove php-common

yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum search php70w
yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath php-xmlwriter php-xmlreader
php -v

php服务启动命令,systemctl比service好,可以修改配置后reload即可,无需restart
systemctl start php-fpm.service   启动
systemctl Stop php-fpm.service 停止
systemctl Restart php-fpm.service 重启
systemctl reload php-fpm.service   重启修改配置

 

6. 设置zabbix_server为自启动服务,做日志切割

cp /app1/software/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server
修改zabbix_server中的对应地址
chmod +x /etc/rc.d/init.d/zabbix_server
chkconfig zabbix_server on


vi /etc/logrotate.d/zabbix_server
增加
/app1/zabbix/log/zabbix_server.log{
    daily
    rotate 7
    compress
    missingok
    notiempty
    create 0640 zabbix zabbix
    shardscripts
}

7. web页面配置

打开http://IP/zabbix ,除了数据库部分根据实际情况填写,其他都是下一步,直到完成。

修改显示界面为中文
进入web页面默认地址
vi /app1/zabbixweb/include/locales.inc.php

'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
修改为
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),

然后进页面中登录用户界面中去修改语言项

至此,zabbix server端基本完成,剩下的就是安装配置agent端和在web页面上配置server端了。

 

8. agent安装(如是服务端本机,可跳过安装,创建用户参照之前服务端操作)

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
cd /app1/software
wget --no-check-certificate https://pilotfiber.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz
tar xf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3
./configure --enable-agent --prefix=/app1/zabbix

如果安装过程中出现错误 configure: error: no acceptable C compiler found in $PATH
则 yum -y install gcc

make && make install
chown -R zabbix.zabbix /app/zabbix
chmod -R 755 /app/zabbix

 

9. 修改客户端配置

vi /app1/zabbix/etc/zabbix_agentd.conf


ListenPort=10050
LogFile=/app1/zabbix/logs/zabbix_agentd.log
PidFile=/app1/zabbix/losg/zabbix_agentd.pid
Server=xxx
ServerActive=xxx:10051
Hostname=xxx
Include=/app/zabbix/etc/zabbix_agentd.conf.d/

 

10. 设置zabbix_agent为自启动服务,做日志切割

cp /app1/software/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
修改zabbix_agentd里配置信息 vi /etc/rc.d/init.d/zabbix_agentd
在pidfile下面加上pid真正目录(前面要加#):# pidfile: /home/zabbix/zabbix_agentd.pid
修改ZABBIX_BIN="/home/zabbix/sbin/zabbix_agentd"


chmod +x /etc/rc.d/init.d/zabbix_agentd
chkconfig zabbix_agentd on
如果是centos7就用systemctl
systemctl daemon-reload
systemctl start zabbix_agentd
如果是centos6就用service
service zabbix_agentd start


vi /etc/logrotate.d/zabbix_agent
增加
/app1/zabbix/zabbix_agent.log{
    daily
    rotate 7
    compress
    missingok
    notiempty
    create 0640 zabbix zabbix
    shardscripts
}

 

11. 剩下的就是web端配置,如果在web端发现部分中文乱码

1.在C:/Windows/fonts目录下拷贝中文字体到zabbix server端的web前端目录下的fonts目录下,并mv修改后缀TTF为ttf 
2. 修改zabbix的web前端路径下/include/defines.inc.php

//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'SIMKAI');

//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'SIMKAI'); // font file name
3. 重启php服务
systemctl restart php-fpm.service

 

12.  设置邮件告警,在服务端操作,如果有sendmail,记得要先关闭

service sendmail stop
yum -y install mailx
vi /etc/mail.rc

增加
set from=xxx@163.com  你的邮箱
set smtp="smtps://smtp.163.com:465"
set smtp-auth-user=xxx@163.com    邮箱账号
set smtp-auth-password=xxxx      邮箱里客户端授权密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb

在web端设置,“管理-示警媒介类型-创建媒体类型”,把其他几个停用掉

名称:mailx

类型:脚本

脚本名称:sendmail.sh

已启用:勾选

 

“管理-用户”中点击“别名-Admin”,选择“报警媒介”

类型:mailx

收件人:xxx@163.com

其他默认即可,也可

以根据需要设置

状态:已启用

 

“配置-动作-创建动作”

 

名称: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}

 

维护期间暂停操作 勾去掉

下方“操作”选“新的”

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:mailx

 

点击“恢复操作”

恢复主旨:恢复{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}

保存即可

 

在服务端上增加发送脚本sendmail.sh

cd /app1/zabbix/share/zabbix/alertscripts

vi sendmail.sh
#!/bin/sh
echo "$3" | mail -s "$2" $1

chown zabbix.zabbix /app1/zabbix/share/zabbix/alertscripts/sendmail.sh
chmod +x /app1/zabbix/share/zabbix/alertscripts/sendmail.sh

 

13. 至此zabbix3在centos7上的安装基本告一段落,后续是zabbix web端的配置,一边摸索一段记录

①  警告: Lack of free swap space on Zabbix server

解决: 这是因为客户端机是云主机所导致的,进入“配置”-“模板”-"Template OS Linux",进入触发器项,选择“Lack of free swap space on Zabbix server”,修改表达式为“{Template OS Linux:system.swap.size[,pfree].last(0)}<50 and {Template OS Linux:system.swap.size[,free].last(0)}<>0”即可,然后重新刷新即解决。

② 如果出现/etc/passwd及好几个触发器状态为未知的,一般情况下是客户端机器上的/etc/hosts中未加入zabbix中指定的hostname,可考虑加入,如下图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值