此处不做介绍。详可站内搜索nginx。
此处不做介绍。详可站内搜索php,yum安装php。
此处不做介绍。详可站内搜索mysql,查看mysql安装。
1、zabbix是一个基于WEB界面的,并提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让运维人员能够快速定位。
2、zabbix通过C/S模型来收集数据,通过B/S模型模式在web端展示和进行配置。
被监控端:主机设备通过安装agent收集数据并发送给server端,网络设备通过SNMP收集数据并发送给server端。
server端:通过收集SNMP和agent发送来的数据,将数据写入到后台数据库中(例如:mysql,oracle),在通过web展示出来。
3、运行环境
zabbix server 需要运行在LAMP或者是LNMP的环境下;
agent可以部署在目前常见的OS中,例如linux,windows,HPUX,Solaris,Sun;
SNMP可以支持常见的网络设备。
安装包下载地址http://www.zabbix.com/download.php
wget https://fossies.org/linux/misc/zabbix-4.0.4.tar.gz
如果不需要本地数据库,则需要安装数据库客户端:
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
看到如下信息则代表已经添加成功,或者可以自行手动查询一下/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
添加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:
每次都输入密码
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/
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
辑并修改 /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
这里要的是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
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;
}
}
[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的安装完成。
浏览器中输入地址:http://ip/zabbix,则可看到如下初始化欢迎界面。
解决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
mbstring.func_overload = 1
mysqli.default_socket = /home/deploy/mysql/tmp/mysql.sock
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
4、name自定义
5、下一步
6、配置文件生成了,至此安装成功
7、点击登录账号:Admin 密码:zabbix
1、点击人头像
2、设置中文
解决服务器端zabbix中文乱码问题:
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
安装方式:
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
添加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
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 | 创建版本 |