前言

最近将空闲服务器搭建了几个服务,决定搭建zabbix对服务器进行监控。

ps: 最近SpartanHost更改了路由,使用Cera的CUVIP线路,目前来看速度都不错,从监控可以看到,改了路由之后延时降低和稳定性提高,晚高峰测试Plex看视频速度也不错。为了减少一些不必要的服务器资源浪费,打算除了SpartanHost之外的服务器全部不再续期,包括现在博客使用的OlinkCloud(又要迁移~)。为了少折腾浪费时间,一些少用的服务也不再使用,Plex、emby、koel、nextcloud等等。


编译安装

lnmp安装

可以使用军哥的lnmp,也可以使用oneinstack一键安装。我使用的是oneinstack:

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 9 --phpcache_option 1 --php_extensions imagick,fileinfo,yaf,redis,memcached --phpmyadmin  --tomcat_option 1 --jdk_option 1 --db_option 1 --dbinstallmethod 2 --dbrootpwd oneinstack --redis  --memcached  --reboot 

MySQL请使用源码编译安装。等待半个钟左右安装完成

####################Congratulations########################
Total OneinStack Install Time: 37 minutes
Nginx install dir: /usr/local/nginx
Tomcat install dir: /usr/local/tomcat
Database install dir: /usr/local/mysql
Database data dir: /data/mysql
Database user: root
Database password: mUd*634Duln
PHP install dir: /usr/local/php
Opcache Control Panel URL: http://172.83.159.22/ocp.php
redis install dir: /usr/local/redis
memcached install dir: /usr/local/memcached

zabbix编译安装

安装相关依赖

yum install gcc gcc-c++ make unixODBC-devel net-snmp-devel libssh2-devel OpenIPMI-devel libevent-devel pcre-devel libcurl-devel curl-* net-snmp* libxml2-* wget tar -y

## ubuntu
apt install libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevent-dev libcurl4-openssl-dev lrzsz -y

官网下载源码,进行解压:

tar -zxvf zabbix-5.2.5.tar.gz

看官网文档,我们需要创建一个zabbix用户

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix

然后进入到源码文件夹进行编译,等待完成

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

make && make install

–enable-java: 我这里需要启用Java服务,所以添加进去。具体看你的需求和参考官方文档4 Configure the sources

配置zabbix

配置MySQL

zabbix解压目录database/mysql中有几个sql文件,导致相关的数据库

image-20210228065625055

安装一下顺序导入:

  • schema.sql
  • images.sql
  • data.sql
  • double.sql(未知作用)
mysql -uroot -p
create database zabbix;
create user 'zabbix'@'localhost' identified by 'seE2NtsDfddAFT4cBPD';
grant all on zabbix.* to 'zabbix'@'localhost' with grant option;
exit;
mysql -uzabbix -p
use zabbix;

source /root/codex/zabbix-5.2.5/database/mysql/schema.sql
source /root/codex/zabbix-5.2.5/database/mysql/images.sql
source /root/codex/zabbix-5.2.5/database/mysql/data.sql
source /root/codex/zabbix-5.2.5/database/mysql/double.sql

show tables;
...
170 rows in set (0.01 sec)

配置zabbix

zabbix-server配置:

nano /usr/local/zabbix/etc/zabbix_server.conf

ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=seE2NtsDfddAFT4cBPD
DBPort=3306
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

zabbix-agentd配置:

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

Server=127.0.0.1
ServerActive=127.0.0.1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

配置systemd

Tips:这里最好直接使用vim、nano创建粘贴进去,这种方式有可能会丢失$CONFFILE、 $MAINPID

zabbix-server.service
 
cat > /lib/systemd/system/zabbix-server.service <<EOF
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target
EOF

zabbix-agent.service
 
cat > /lib/systemd/system/zabbix-agent.service <<EOF
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
EOF

systemctl enable zabbix-agent.service
systemctl enable zabbix-server.service
systemctl start zabbix-agent.service
systemctl start zabbix-server.service

web配置

# 添加域名 配置ssl
~/oneinstack/vhost.sh
生成目录/data/wwwroot/zabbix.fungit.org

将源码下的ui目录复制到/data/wwwroot/zabbix.fungit.org

cp -R ui/* /data/wwwroot/zabbix.fungit.org

访问域名,无意外可以访问,进行基本配置即可完成。默认用户名/密码 Admin/zabbix。记得修改用户密码

image-20210228072242318

相关链接: