前言 最近将空闲服务器搭建了几个服务,决定搭建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请使用源码编译安装。等待半个钟左右安装完成
# 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 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文件,导致相关的数据库
安装一下顺序导入:
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。记得修改用户密码
相关链接: