点击蓝字 关注我们

安装环境:
系统:centos7.5
nginx版本:nginx-1.15.3.tar.gz
php版本:php-5.6.36.tar.gz
mysql版本:mysql-5.7
zabbix版本:zabbix-4.0.0.tar
1、部署Nginx
1.1、安装依赖包
wget http://nginx.org/download/nginx-1.15.3.tar.gz
yum install gcc pcre-devel openssl-devel -y
useradd -M -s /sbin/nologin nginx
1.2、安装nginx
tar -xzf nginx-1.15.3.tar.gz
cd nginx-1.15.3
./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module
make \&\& make install
chown nobody -R /usr/local/nginx/
vi /usr/local/nginx/conf/nginx.conf
pid /var/run/nginx.pid;
vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、部署mysql
2.1、安装
yum -y install yum-utils
配置yum源:
cat /etc/yum.repos.d/mysql.repo
Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
查看可安装的mysql版本:
yum repolist all\|grep mysql
安装MySQL,默认最新版本:
yum install mysql-community-server -y
启动MySQL服务:
systemctl start mysqld
systemctl status mysqld
root账户默认密码存储在错误日志中:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix2018!';
注意:密码要求包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码长度至少为8个字符。
2.2、MySQL服务器配置
vi /etc/my.cnf
[mysql]
socket = /var/lib/mysql/mysql.sock
[mysqld]
user = mysql
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
bind-address = 0.0.0.0
pid-file = /var/run/mysqld/mysqld.pid
character-set-server = utf8
collation-server = utf8_general_ci
log-error = /var/log/mysqld.log
max_connections = 10240
open_files_limit = 65535
innodb_buffer_pool_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 256M
systemctl restart mysqld
systemctl enable mysqld
mysql -uroot -p
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@'192.168.0.%' identified by 'Zabbix2018!';
3、部署php
3.1、安装依赖包
yum install -y gcc gcc-c++ make gd-devel libxml2-devel \
libcurl-devel libjpeg-devel libpng-devel openssl-devel \
libxslt-devel
3.2、安装PHP
wget http://docs.php.net/distributions/php-5.6.36.tar.gz
tar zxf php-5.6.36.tar.gz
cd php-5.6.36
./configure –prefix=/usr/local/php \
–with-config-file-path=/usr/local/php/etc \
–enable-fpm –enable-opcache \
–with-mysql –with-mysqli \
–enable-session –with-zlib –with-curl –with-gd \
–with-jpeg-dir –with-png-dir –with-freetype-dir \
–enable-mbstring –enable-xmlwriter –enable-xmlreader \
–enable-xml –enable-sockets –enable-bcmath –with-gettext
make -j 8 \&\& make install
cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
vi /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm –nodaemonize –fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start php-fpm
systemctl enable php-fpm
4、部署Zabbix Server
https://www.zabbix.com/download_sources
4.1、安装依赖包:
yum install libxml2-devel libcurl-devel libevent-devel net-snmp-devel mysql-community-devel -y
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
4.2、安装zabbix server
tar -zxf zabbix-4.0.0.tar.gz
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
cd zabbix-4.0.0
./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
4.3、导入表结构
mysql -h 192.168.0.13 -uzabbix -pZabbix2018! zabbix < schema.sql
cd database/mysql
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql
4.4、配置zabbix server
vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=192.168.0.13
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix2018!
vi /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[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
启动Agent:
/usr/local/zabbix/sbin/zabbix_agentd
5、部署Zabbix Web界面
5.1、修改php配置文件
Zabbix前端使用PHP写的,所以必须运行在PHP支持的Web服务器上。
cd zabbix-4.0.0
cp frontends/php/* /usr/local/nginx/html/ -rf
vi /usr/local/php/etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
always_populate_raw_post_data = -1
date.timezone = Asia/Shanghai
systemctl restart php-fpm
systemctl restart zabbix_server
ps -ef \|grep zabbix
5.2、修改nginx配置文件
cd /usr/local/nginx/conf
cat nginx.conf
server {
listen 80;
server_name localhost;
access_log logs/zabbix.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
location \~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
5.3、通过web设置zabbix
访问: http://192.168.0.13






vim /usr/local/nginx/html/conf/zabbix.conf.php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.0.13';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'Zabbix2018!';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
5.4、zabbix登陆
访问: http://192.168.0.13


6、调整zabbix语言

7、部署Zabbix Agent
7.1、yum安装zabbix agent
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-agent -y
vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server=192.168.0.13
ListenPort=10050
ListenIP=192.168.0.14
ServerActive=192.168.0.13
Hostname=192.168.0.14
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UserParameter
systemctl start zabbix-agent
ps -ef \|grep zabbix
在zabbix server测试:
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.cpu.load[all,avg1]”
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.hostname”
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.uname”
7.2、源码包安装zabbix agent
yum install libxml2-devel libcurl-devel libevent-devel net-snmp-devel mysql-community-devel -y
tar -xzf zabbix-4.0.0.tar.gz
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
cd zabbix-4.0.0
./configure –prefix=/usr/local/zabbix –enable-agent
make \&\& make install
vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server=192.168.0.13
ListenPort=10050
ListenIP=192.168.0.14
ServerActive=192.168.0.13
Hostname=192.168.0.14
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UserParameter
cp /opt/zabbix-4.0.0/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
mkdir -p /var/log/zabbix
mkdir -p /var/run/zabbix
chown zabbix:zabbix /var/log/zabbix
chown zabbix:zabbix /var/run/zabbix
/usr/local/zabbix/sbin/zabbix_agentd
ps -ef \|grep zabbix
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /opt/zabbix-4.0.0/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_agentd
/etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_agentd stop
systemctl start zabbix_agentd
ps -ef \|grep Zabbix
7.3、zabbix agent客户端主动模式
cat /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
ListenPort=10050
ListenIP=10.3.3.81 #zabbix agent端ip
StartAgents=0
ServerActive=45.114.170.162 #zabbix server端ip
Hostname=10.3.3.81
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
nginx进程状态
UserParameter=nginx.process,ps -ef\|grep nginx\|grep -v grep\|wc –l
监控项改为主动模式:

7.4、zabbix_agentd监控项配置
7.4.1、自定义监控项1
nginx进程状态
UserParameter=nginx.process,ps -ef\|grep nginx\|grep -v grep\|wc -l
redis进程状态
UserParameter=redis.process,ps -ef\|grep redis\|grep -v grep\|wc -l
php-fpm进程状态
UserParameter=php-fpm.process,ps -ef\|grep php-fpm\|grep -v grep\|wc -l
rabbitmq进程状态
UserParameter=rabbitmq.process,ps -ef\|grep rabbitmq\|grep -v grep\|wc -l
进程占用cpu,内存使用率
UserParameter=discovery.process,/usr/local/zabbix/scripts/discovery_process.sh
UserParameter=process.check[*],/usr/local/zabbix/scripts/process_check.sh $1 $2 $3
node进程状态
UserParameter=node.process,ps -ef\|grep node\|grep -v grep\|wc -l
fdfs进程状态
UserParameter=fdfs.process,ps -ef\|grep fdfs\|grep -v grep\|wc -l
tomcat_front进程状态
UserParameter=tomcat_front.process,ps -ef \|grep tomcat8_8080_front \|grep -v grep \|wc -l
tomcat_manage进程状态
UserParameter=tomcat_manage.process,ps -ef \|grep tomcat8_8083_manage \|grep -v grep \|wc -l
tomcat_task进程状态
UserParameter=tomcat_task.process,ps -ef \|grep tomcat8_8084_task \|grep -v grep \|wc -l
tomcat_app进程状态
UserParameter=tomcat_app.process,ps -ef \|grep tomcat8_8085_app \|grep -v grep \|wc -l
tomcat_redis进程状态
UserParameter=tomcat_redis.process,ps -ef \|grep tomcat8_8088_redis_sp \|grep -v grep \|wc -l
mysql进程状态
UserParameter=mysql.process,ps -ef\|grep mysql\|grep -v grep\|wc -l
tcp连接状态
UserParameter=tcp.status[*],ss -antp \|awk '{a[$$1]++}END{print a[“$1”]}'
7.4.2、自定义监控项2
下面自定义监控项在zabbix agent配置文件添加:
#异常IP登录
UserParameter=check.ssh, who \| grep -v 103.25.18.121 \| wc -l
#异常用户登录
UserParameter=check.user, who \| grep -v root \| wc -l
#密码尝试失败次数
UserParameter=check.fail, grep “Failed password” /var/log/secure \| wc -l
#检查用户数量
UserParameter=get_user_num,wc -l /etc/passwd \| awk '{print $1}'
#可以登陆的用户
UserParameter=get_login_users,awk -F”:” '$7==“/bin/bash”{j++}END{print j}' /etc/passwd
#不可以登陆的用户
UserParameter=get_nologin_users,awk -F”:” '$7!=“/bin/bash”{i++}END{print i}' /etc/passwd
#检查nginx状态
UserParameter=check.nginx, ps -ef \|grep nginx \|grep -v grep\|wc -l
#检查mysql状态
UserParameter=check.mysql, ps -ef \|grep mysqld \|grep -v grep\|wc -l
#检查php状态
UserParameter=check.php-fpm, ps -ef \|grep php-fpm \|grep -v grep\|wc -l
自定义监控模板
配置–模板–创建模板

应用集—创建应用集
监控项—创建监控项

触发器—创建触发器

图形—创建图形

主机应用模板

8、zabbix语言设置成中文后,有乱码解决如下
1.从windows下控制面板->字体->选择一种中文字库例如"楷体”
2.将字体上传至/usr/local/nginx/html/fonts目录下
3.替换之前的字体
rm -rf DejaVuSans.ttf
mv simkai.ttf DejaVuSans.ttf
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。
原文链接: https://mp.weixin.qq.com/s/SaNrxrA-dL4K-36fA2b_JQ