136  
Centos7 zabbbx 4.0.4安装
作者: wyasw 于 2020年03月29日 发布在分类 / linux / zabbix 下,并于 2020年04月17日 编辑
zabbix

Nginx安装

此处不做介绍。详可站内搜索nginx。

PHP安装

此处不做介绍。详可站内搜索php,yum安装php。

Mysql安装

此处不做介绍。详可站内搜索mysql,查看mysql安装。

Zabbix 4.0.4安装

1zabbix是一个基于WEB界面的,并提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让运维人员能够快速定位。

2zabbix通过C/S模型来收集数据,通过B/S模型模式在web端展示和进行配置。

被监控端:主机设备通过安装agent收集数据并发送给server端,网络设备通过SNMP收集数据并发送给server端。

server端:通过收集SNMPagent发送来的数据,将数据写入到后台数据库中(例如:mysqloracle),在通过web展示出来。

3、运行环境

zabbix server 需要运行在LAMP或者是LNMP的环境下;

agent可以部署在目前常见的OS中,例如linuxwindowsHPUXSolarisSun

SNMP可以支持常见的网络设备。


4.2 zabbix安装

安装包下载地址http://www.zabbix.com/download.php

wget https://fossies.org/linux/misc/zabbix-4.0.4.tar.gz

4.2.1 zabbix server的安装

如果不需要本地数据库,则需要安装数据库客户端:

yum -y install mariadb

yum -y install mariadb-devel


安装所需依赖

yum -y install net-snmp-devel curl-devel  libevent-devel

wget https://fossies.org/linux/misc/zabbix-zabbix-4.0.4.tar.gz

tar xf zabbix-4.0.4.tar.gz

[root@centos7-web02 tools]# cd zabbix-4.0.4/

[root@centos7-web02 zabbix-4.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/home/deploy/mysql/bin/mysql_config --with-net-snmp --with-libcurl 

[root@ centos7-web02 zabbix-4.0.4]# make && make install

4.2.2 检查zabbix是否被添加进入系统服务文件中

看到如下信息则代表已经添加成功,或者可以自行手动查询一下/etc/services 文件,真没有手动添加到 /etc/services 文件中:

[root@centos7-web02 zabbix-4.0.4]# grep "zabbix" /etc/services

zabbix-agent    10050/tcp               # Zabbix Agent

zabbix-agent    10050/udp               # Zabbix Agent

zabbix-trapper  10051/tcp               # Zabbix Trapper

zabbix-trapper  10051/udp               # Zabbix Trapper

4.2.3 进入mysql数据库操作

添加mysql数据库的zabbix用户,并设置密码

先用root身份登录mysql中,并执行以下命令;

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpasswd';

Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)

## //密码zabbix 对应数据库中新建的 zabbix

而后在下载的源文件中存在一个database/mysql 子目录,中间存放在建立zabbix数据库结构的SQL脚本文件。先进入到zabbix源文件所在的目录,并执行以下语句:

# mysql -u zabbix -p zabbix < ./database/mysql/schema.sql

Enter password:

# mysql -u zabbix -p zabbix < ./database/mysql/images.sql

Enter password:

# mysql -u zabbix -p zabbix < ./database/mysql/data.sql

Enter password:

每次都输入密码

4.2.4 创建zabbix的日志文件和连接

mkdir /var/log/zabbix

useradd -s /sbin/nologin -M zabbix

chown zabbix.zabbix /var/log/zabbix

ln -s /usr/local/zabbix/etc/ /etc/zabbix

ln -s /usr/local/zabbix/bin/* /usr/bin/

ln -s /usr/local/zabbix/sbin/* /usr/sbin/

4.2.5 拷贝与配置zabbix启动文件

cd /home/tools/zabbix-4.0.4/

cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

chmod 755 /etc/init.d/zabbix_*

sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_server

sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd

4.2.6 配置zabbix_server.conf服务端文件

辑并修改 /etc/zabbix/zabbix_server.conf 文件,并修改如下条目:

DBName=zabbix 数据库名称

DBUser=zabbix 数据库用户

DBPassword=zabbix 数据库密码(这里为了演示,先前设置了zabbix数据库密码为zabbix

/tmp/zabbix_server.log 改 /var/log/zabbix/zabbix_server.log #更改日志路径

或者用 sed 方式替换文件内容:

sed -i "s/DBUser\=root/DBUser\=zabbix/g" /etc/zabbix/zabbix_server.conf

sed -i "/# DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/zabbix_server.conf

sed -i "s#/tmp/zabbix_server.log#/var/log/zabbix/zabbix_server.log#g" /etc/zabbix/zabbix_server.conf

4.2.7 配置 zabbix_agentd.conf 文件 (这里是为了监控 server 本身, 如对其他服务器进行监控,配置文件相类似)

这里要的是zabbix_agentd.conf是客户端配置文件,因此这里配置这个文件的目的就是为了能够实现对本地服务器的监控。该文件需要修改如下四个条目:

Server=127.0.0.1 此处添加服务端的 ip,如服务器不为本机,则需要填写远端 zabbix_server  ip 地址

ServerActive=127.0.0.1 此处修改为服务端的 ip,这里应该修改为该服务器对外的ip地址

/tmp/zabbix_agentd.log 修改日志路径

UnsafeUserParameters=0 默认是不启用自定义脚本功能的,要自定义 key ,需开启,设置为1

Include=/etc/zabbix/zabbix_agentd.conf.d/ 自定义的 agent d 配置文件可以写在这个目录下面

利用sed 方式内容替换的执行命令如下:

sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,10.0.07 /g" /usr/local/zabbix/etc/zabbix_agentd.conf

sed -i "s/ServerActive\=127.0.0.1/ServerActive\=10.0.0.7:10051/g" /usr/local/zabbix/etc/zabbix_agentd.conf

sed -i "s#LogFile=/tmp/zabbix_agentd.log#LogFile=/var/log/zabbix/zabbix_agentd.log#g" /usr/local/zabbix/etc/zabbix_agentd.conf

sed -i "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /usr/local/zabbix/etc/zabbix_agentd.conf

4.2.8 拷贝php网页文件到nginx

cp -r ./frontends/php/ /home/deploy/nginx/html/zabbix

修改nginx.conf配置文件:

[root@centos7-web02 vhost]# vim zabbix.conf

server {
        listen       80;
        server_name  _;
        root /home/deploy/nginx/html/zabbix/;
        index index.html index.htm index.php;
        location / {
                try_files $uri $uri/ /index.php;
                #try_files $uri $uri/ /index.php?$args;
        }
        location ~ .*\.(php|php5)?$  {
                #fastcgi_pass unix:/dev/shm/php-cgi.sock;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
                }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
                expires 30d;
                }

        location ~ .*\.(js|css)?$ {
                expires 7d;
                }

    }


修改完,记得平滑重启 nginx


4.2.9 开启zabbix

[root@centos7-web02 vhost]# /etc/init.d/zabbix_server start

Reloading systemd:                                         [ 确定 ]

Starting zabbix_server (via systemctl):                    [ 确定 ]

[root@centos7-web02 vhost]# /etc/init.d/zabbix_agentd start

Starting zabbix_agentd (via systemctl):                    [ 确定 ]

至此,zabbix的安装完成。

4.3 通过web设置zabbix

浏览器中输入地址:http://ip/zabbix,则可看到如下初始化欢迎界面。

4.3.1 错误

解决php扩展包问题:

yum -y install php72w-bcmath  php72w-ldap
systemctl restart php-fpm.service 

解决配置文件参数问题:修改完重启php。

vim /etc/php.ini

修改:
max_execution_time = 300
max_input_time = 300

date.timezone = "Asia/Shanghai"
post_max_size = 16M

mbstring.func_overload = 1
mysqli.default_socket = /home/deploy/mysql/tmp/mysql.sock

4.3.2 安装

1、进入欢迎页面

2、检查全部OK

3、数据库的配置

若出错:[root@zl-zabbix init.d]# ./zabbix_server restart
Shutting down zabbix_server:                               [失败]
Starting zabbix_server:  /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

解决:ln -s /home/deploy/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20

之后重启zabbix_server

4name自定义

5、下一步

6、配置文件生成了,至此安装成功

7、点击登录账号:Admin 密码:zabbix

4.3.3 设置中文

1、点击人头像

2、设置中文

4.3.4 解决服务器端zabbix中文乱码问题

解决服务器端zabbix中文乱码问题:

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

第5章 zabbix客户端安装

5.1 安装并启动客户端

安装方式:

useradd -s /sbin/nologin -M zabbix

wget https://fossies.org/linux/misc/zabbix-3.2.7.tar.gz

tar xf zabbix-3.2.7.tar.gz

cd zabbix-3.2.7/

./configure --prefix=/usr/local/zabbix --with-net-snmp --enable-agent

make && make install

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

chmod +x /etc/init.d/zabbix_agentd

vim   /etc/init.d/zabbix_agentd

DAEMON=/usr/local/zabbix/sbin/zabbix_agentd

/etc/init.d/zabbix_agentd restart

执行下面命令:ip地址为服务端对外网地址

sed -i 's#Server=127.0.0.1#Server=172.168.10.7#' /usr/local/zabbix/etc/zabbix_agentd.conf

可参考 1.4.7 配置 zabbix_agentd.conf 文件

启动客户端

注意:

如果出现


则检查日志:

tailf  /var/log/zabbix/zabbix_server.log

我的日志里显示

122843:20170812:094536.724 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决方法:

[root@centos7-web02 ~]# find / -name "mysql.sock"

/tmp/mysql.sock

[root@centos7-web02 ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

5.2 添加自定义监控主机

添加zabbix管理机(监控管理机)

1、进入-配置---主机

2、点击Zabbix server

3、配置如下

vim /usr/local/zabbix/etc/zabbix_agentd.conf

修改hostname=和这里的一样,不然zabbix日志中会一直出现如下:

123015:20170812:103924.955 cannot send list of active checks to "127.0.0.1": host [Zabbix server] not found

4、一直刷新登录变绿,如果是红色的则检查IP和端口和防火墙。

或者给iptables添加两条规则:

# iptables -A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT

# iptables -A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT

# /etc/init.d/iptables save

5.3 网页上添监控agent

l  监控变红的解决方法:

zabbix_get:测试能不能从客户端获取数据;等上面的监控变红的时候

zabbix_get  -h 可以获取到参数

[root@centos7-web02 ~]# zabbix_get -s 172.168.10.7 -p 10050 -k "system.cpu.load[all,avg1]"

0.000000

[root@centos7-web02 ~]# zabbix_get -s 172.168.10.6 -p 10050 -k "system.cpu.load[all,avg1]"

0.010000

其他问题请注意关闭selinux 和查看防火墙,host解析

注意配置文件的位置

find / -name "*agentd.conf"





 推荐知识

 历史版本

修改日期 修改人 备注
2020-04-17 17:06:35[当前版本] 文艺范儿 格式调整
2020-04-17 16:12:05 文艺范儿 格式调整
2020-03-29 15:10:50 wyasw 创建版本

  目录
    文艺知识分享平台 - 4.3.0 - 文艺范儿