Linux搭建Zabbix监控平台

    Zabbix是一款专业的开源网络监控平台,轻松监控各种应用服务、硬件资源使用率、网络设备等等状态,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。

    实验环境

    操作系统:CentOS 7.7

    主机地址:10.0.0.21

    主机名称:node1

    Zabbix:4.4.4

    Nginx:1.16.1

    MySQL:5.7.28

    PHP:7.4.1

    Zlib:1.2.11

    Pcre:8.43

    OpenSSL:1.0.2u

    Ngx_lua_waf:1.0.3

    Ngx_devel_kit:0.3.1

    Luajit:2.1

    Lua-resty-core:0.1.17

    Lua-resty-lrucache:0.09

    Lua-nginx-module:0.10.15

    安装篇

    第一步 安装依赖包

    1. [root@wanghualang ~]# yum -y install epel-release       
    2. [root@wanghualang ~]# yum -y install gcc gcc-c++ autoconf automake wget vim make cmake openssl-devel bison-devel ncurses-devel libsqlite3x-devel oniguruma-devel curl-devel libxml2-devel libjpeg-devel libpng-devel freetype-devel libicu-devel libsodium-devel unixODBC-devel net-snmp-devel libssh2-devel libevent-devel OpenIPMI-devel openldap-devel java-11-openjdk-devel

    第二步 下载、解压源码包

    1. [root@wanghualang ~]# cd /usr/local/src/      
    2. [root@wanghualang src]# wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz    
    3. [root@wanghualang src]# wget --no-check-certificate https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz    
    4. [root@wanghualang src]# wget --no-check-certificate http://nginx.org/download/nginx-1.16.1.tar.gz    
    5. [root@wanghualang src]# wget --no-check-certificate https://www.php.net/distributions/php-7.4.1.tar.gz    
    6. [root@wanghualang src]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2u.tar.gz    
    7. [root@wanghualang src]# wget --no-check-certificate https://github.com/whsir/ngx_lua_waf/archive/v1.0.3.tar.gz      
    8. [root@wanghualang src]# wget --no-check-certificate https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1.tar.gz      
    9. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/luajit2/archive/v2.1-20190912.tar.gz      
    10. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-resty-core/archive/v0.1.17.tar.gz      
    11. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-resty-lrucache/archive/v0.09.tar.gz      
    12. [root@wanghualang src]# wget --no-check-certificate https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz      
    13. [root@wanghualang src]# wget --no-check-certificate https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz    
    14. [root@wanghualang src]# wget --no-check-certificate -O zabbix-4.4.4.tar.gz https://github.com/zabbix/zabbix/archive/4.4.4.tar.gz
    15. [root@wanghualang src]# tar xzf pcre-8.43.tar.gz    
    16. [root@wanghualang src]# tar xzf php-7.4.1.tar.gz    
    17. [root@wanghualang src]# tar xzf zlib-1.2.11.tar.gz   
    18. [root@wanghualang src]# tar xzf zabbix-4.4.4.tar.gz  
    19. [root@wanghualang src]# tar xzf nginx-1.16.1.tar.gz    
    20. [root@wanghualang src]# tar xzf openssl-1.0.2u.tar.gz    
    21. [root@wanghualang src]# tar xzf ngx_lua_waf-1.0.3.tar.gz      
    22. [root@wanghualang src]# tar xzf ngx_devel_kit-0.3.1.tar.gz      
    23. [root@wanghualang src]# tar xzf mysql-boost-5.7.28.tar.gz    
    24. [root@wanghualang src]# tar xzf luajit2-2.1-20190912.tar.gz      
    25. [root@wanghualang src]# tar xzf lua-resty-core-0.1.17.tar.gz      
    26. [root@wanghualang src]# tar xzf lua-resty-lrucache-0.09.tar.gz    
    27. [root@wanghualang src]# tar xzf lua-nginx-module-0.10.15.tar.gz  

    第三步 编译安装luajit2、Lua-resty-core、Lua-resty-lrucache

    1. [root@wanghualang ~]# cd /usr/local/src/luajit2-2.1-20190912    
    2. [root@wanghualang luajit2-2.1-20190912]# make    
    3. [root@wanghualang luajit2-2.1-20190912]# make install  

    1. [root@wanghualang ~]# cd /usr/local/src/lua-resty-core-0.1.17    
    2. [root@wanghualang lua-resty-core-0.1.17]# make install  

    1. [root@wanghualang ~]# cd /usr/local/src/lua-resty-lrucache-0.09    
    2. [root@wanghualang lua-resty-lrucache-0.09]# make install  

    第四步 配置luajit2环境变量

    1. [root@wanghualang ~]# export LUAJIT_LIB=/usr/local/lib    
    2. [root@wanghualang ~]# export LUAJIT_INC=/usr/local/include/luajit-2.1   

    第五步 新建用户组、用户

    1. [root@wanghualang ~]# groupadd nginx          
    2. [root@wanghualang ~]# groupadd mysql    
    3. [root@wanghualang ~]# groupadd zabbix      
    4. [root@wanghualang ~]# useradd nginx -M -g nginx -s /sbin/nologin        
    5. [root@wanghualang ~]# useradd mysql -M -g mysql -s /sbin/nologin  
    6. [root@wanghualang ~]# useradd zabbix -M -g zabbix -s /sbin/nologin  

    第六步 编译安装Nginx

    1. [root@wanghualang ~]# cd /usr/local/src/nginx-1.16.1            
    2. [root@wanghualang nginx-1.16.1]# ./configure \
    3. --user=nginx \
    4. --group=nginx \
    5. --prefix=/usr/local/nginx \
    6. --with-pcre=/usr/local/src/pcre-8.43 \
    7. --with-openssl=/usr/local/src/openssl-1.0.2u \
    8. --with-zlib=/usr/local/src/zlib-1.2.11 \
    9. --with-http_gzip_static_module \
    10. --with-http_dav_module \
    11. --with-http_stub_status_module \
    12. --with-http_addition_module \
    13. --with-http_sub_module \
    14. --with-http_flv_module \
    15. --with-http_mp4_module \
    16. --with-http_ssl_module  \
    17. --with-http_v2_module  \
    18. --with-ld-opt=-Wl,-rpath,$LUAJIT_LIB  \
    19. --add-module=/usr/local/src/ngx_devel_kit-0.3.1  \
    20. --add-module=/usr/local/src/lua-nginx-module-0.10.15
    21. [root@wanghualang nginx-1.16.1]# make    
    22. [root@wanghualang nginx-1.16.1]# make install  

    第七步 配置启动服务脚本、开机启动

    1. [root@wanghualang ~]# vim /etc/init.d/nginx      
    2.     
    3. #!/bin/bash        
    4. #chkconfig: 2345 55 25        
    5.         
    6. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin        
    7. NAME=nginx        
    8. NGINX_BIN=/usr/local/nginx/sbin/$NAME        
    9. CONFIGFILE=/usr/local/nginx/conf/$NAME.conf        
    10. PIDFILE=/usr/local/nginx/logs/$NAME.pid      
    11.       
    12. if [ -s /bin/ss ]; then        
    13.     StatBin=/bin/ss        
    14. else        
    15.     StatBin=/bin/netstat        
    16. fi        
    17.         
    18.         
    19. case "$1" in        
    20.     start)        
    21.         echo -n "Starting $NAME... "        
    22.         
    23.         if $StatBin -tnpl | grep -q nginx;then        
    24.             echo "$NAME (pid `pidof $NAME`) already running."        
    25.             exit 1        
    26.         fi        
    27.         
    28.         $NGINX_BIN -c $CONFIGFILE        
    29.         
    30.         if [ "$?" != 0 ] ; then        
    31.             echo " failed"        
    32.             exit 1        
    33.         else        
    34.             echo " done"        
    35.         fi        
    36.         ;;        
    37.         
    38.     stop)        
    39.         echo -n "Stoping $NAME... "        
    40.         
    41.         if ! $StatBin -tnpl | grep -q nginx; then        
    42.             echo "$NAME is not running."        
    43.             exit 1        
    44.         fi        
    45.         
    46.         $NGINX_BIN -s stop        
    47.         
    48.         if [ "$?" != 0 ] ; then        
    49.             echo " failed. Use force-quit"        
    50.             exit 1        
    51.         else        
    52.             echo " done"        
    53.         fi        
    54.         ;;        
    55.         
    56.     status)        
    57.         if $StatBin -tnpl | grep -q nginx; then        
    58.             PID=`pidof nginx`        
    59.             echo "$NAME (pid $PID) is running..."        
    60.         else        
    61.             echo "$NAME is stopped."        
    62.             exit 0        
    63.         fi        
    64.         ;;        
    65.         
    66.     force-quit|kill)        
    67.         echo -n "Terminating $NAME... "        
    68.         
    69.         if ! $StatBin -tnpl | grep -q nginx; then        
    70.             echo "$NAME is is stopped."        
    71.             exit 1        
    72.         fi        
    73.         
    74.         kill `pidof $NAME`        
    75.         
    76.         if [ "$?" != 0 ] ; then        
    77.             echo " failed"        
    78.             exit 1        
    79.         else        
    80.             echo " done"        
    81.         fi        
    82.         ;;        
    83.         
    84.     restart)        
    85.         $0 stop        
    86.         sleep 1        
    87.         $0 start        
    88.         ;;        
    89.         
    90.     reload)        
    91.         echo -n "Reload service $NAME... "        
    92.         
    93.         if $StatBin -tnpl | grep -q nginx; then        
    94.             $NGINX_BIN -s reload        
    95.             echo " done"        
    96.         else        
    97.             echo "$NAME is not running, can't reload."        
    98.             exit 1        
    99.         fi        
    100.         ;;        
    101.         
    102.     configtest)        
    103.         echo -n "Test $NAME configure files... "        
    104.         
    105.         $NGINX_BIN -t        
    106.         ;;        
    107.         
    108.     *)        
    109.         echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"        
    110.         exit 1        
    111.         ;;        
    112.         
    113. esac  

    1. [root@wanghualang ~]# chmod +x /etc/init.d/nginx        
    2. [root@wanghualang ~]# chkconfig --add nginx        
    3. [root@wanghualang ~]# chkconfig nginx on  

    第八步 编译安装MySQL(按需添加更多功能模块)

    1. [root@wanghualang ~]# cd /usr/local/src/mysql-5.7.28    
    2. [root@wanghualang mysql-5.7.28]# cmake  \
    3. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \
    4. -DSYSCONFDIR=/etc  \
    5. -DMYSQL_TCP_PORT=3306  \
    6. -DEXTRA_CHARSETS=all  \
    7. -DDEFAULT_CHARSET=utf8mb4  \
    8. -DDEFAULT_COLLATION=utf8mb4_general_ci  \
    9. -DWITH_MYISAM_STORAGE_ENGINE=1  \
    10. -DWITH_INNOBASE_STORAGE_ENGINE=1  \
    11. -DWITH_PARTITION_STORAGE_ENGINE=1  \
    12. -DWITH_FEDERATED_STORAGE_ENGINE=1  \
    13. -DWITH_EMBEDDED_SERVER=1  \
    14. -DENABLED_LOCAL_INFILE=1  \
    15. -DWITH_BOOST=/usr/local/src/mysql-5.7.28/boost/boost_1_59_0
    16. [root@wanghualang mysql-5.7.28]# make    
    17. [root@wanghualang mysql-5.7.28]# make install  

    第九步 优化数据库配置(4G内存优化方案,仅供参考)

    1. [root@wanghualang ~]# mv /etc/my.cnf /etc/my.cnf.bak       
    2. [root@wanghualang ~]# vim /etc/my.cnf          
    3.           
    4. [client]         
    5. port=3306          
    6. socket=/tmp/mysql.sock          
    7.         
    8. [mysql]          
    9. no-auto-rehash          
    10.           
    11. [mysqld]          
    12. port=3306          
    13. bind_address=127.0.0.1          
    14. binlog_cache_size=128K          
    15. thread_stack=256K          
    16. join_buffer_size=2048K          
    17. query_cache_type=1          
    18. max_heap_table_size=512M          
    19. pid-file=/tmp/mysql.pid          
    20. socket=/tmp/mysql.sock          
    21. datadir=/usr/local/mysql/data          
    22. skip-external-locking          
    23. performance_schema_max_table_instances=400          
    24. table_definition_cache=400          
    25. key_buffer_size=384M          
    26. max_allowed_packet=100G          
    27. table_open_cache=384          
    28. sort_buffer_size=1024K          
    29. net_buffer_length=8K          
    30. read_buffer_size=1024K          
    31. read_rnd_buffer_size=768K          
    32. myisam_sort_buffer_size=16M          
    33. thread_cache_size=128          
    34. query_cache_size=192M          
    35. tmp_table_size=512M          
    36. sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES          
    37. explicit_defaults_for_timestamp=true          
    38. #skip-networking          
    39. max_connections=300          
    40. max_connect_errors=100          
    41. open_files_limit=65535          
    42. #log-bin=mysql-bin          
    43. #binlog_format=mixed          
    44. server-id=1          
    45. expire_logs_days=10          
    46. slow_query_log=1          
    47. slow-query-log-file=/usr/local/mysql/data/mysql-slow.log          
    48. long_query_time=3          
    49. #log_queries_not_using_indexes=on          
    50. early-plugin-load=""          
    51. default_storage_engine=InnoDB          
    52. innodb_data_home_dir=/usr/local/mysql/data          
    53. innodb_data_file_path=ibdata1:10M:autoextend          
    54. innodb_log_group_home_dir=/usr/local/mysql/data          
    55. innodb_buffer_pool_size=512M          
    56. innodb_log_file_size=128M          
    57. innodb_log_buffer_size=32M          
    58. innodb_flush_log_at_trx_commit=1          
    59. innodb_lock_wait_timeout=120          
    60. innodb_max_dirty_pages_pct=90          
    61. innodb_read_io_threads=2          
    62. innodb_write_io_threads=2          
    63.           
    64. [mysqldump]          
    65. quick          
    66. max_allowed_packet=16M          
    67.           
    68. [myisamchk]          
    69. key_buffer_size=64M          
    70. sort_buffer_size=1M          
    71. read_buffer=2M          
    72. write_buffer=2M          
    73.           
    74. [mysqlhotcopy]          
    75. interactive-timeout  

    第十步 修改MySQL数据库目录、配置文件权限

    1. [root@wanghualang ~]# chown mysql:mysql /etc/my.cnf        
    2. [root@wanghualang ~]# chown -R mysql:mysql /usr/local/mysql  

    第十一步 配置MySQL数据库环境变量

    1. [root@wanghualang ~]# echo "export PATH="/usr/local/mysql/bin:$PATH">> /etc/profile          
    2. [root@wanghualang ~]# source /etc/profile  

    第十二步 配置MySQL启动服务脚本、开机启动

    1. [root@wanghualang ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld        
    2. [root@wanghualang ~]# chmod +x /etc/init.d/mysqld          
    3. [root@wanghualang ~]# chkconfig --add mysqld          
    4. [root@wanghualang ~]# chkconfig mysqld on    

    第十三步 初始化MySQL数据库

    1. [root@wanghualang ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    第十四步 编译安装PHP(按需添加更多功能模块)

    1. [root@wanghualang ~]# ln -s /usr/lib64/libldap* /usr/lib/
    2. [root@wanghualang ~]# cd /usr/local/src/php-7.4.1   
    3. [root@wanghualang php-7.4.1]# ./configure \
    4. --prefix=/usr/local/php \
    5. --with-config-file-path=/usr/local/php/etc  \
    6. --enable-mysqlnd  \
    7. --enable-xml  \
    8. --enable-bcmath  \
    9. --enable-shmop  \
    10. --enable-sysvsem  \
    11. --enable-inline-optimization  \
    12. --enable-mbregex  \
    13. --enable-mbstring  \
    14. --enable-intl  \
    15. --enable-ftp  \
    16. --enable-pcntl  \
    17. --enable-sockets  \
    18. --enable-soap  \
    19. --enable-opcache  \
    20. --enable-fpm  \
    21. --enable-gd  \
    22. --with-fpm-user=nginx  \
    23. --with-fpm-group=nginx  \
    24. --with-mysqli=mysqlnd  \
    25. --with-pdo-mysql=mysqlnd  \
    26. --with-iconv-dir  \
    27. --with-freetype  \
    28. --with-jpeg  \
    29. --with-zlib  \
    30. --with-libxml  \
    31. --with-curl  \
    32. --with-ldap  \
    33. --with-openssl  \
    34. --with-mhash  \
    35. --with-xmlrpc  \
    36. --with-gettext  \
    37. --with-sodium  \
    38. --disable-fileinfo  \
    39. --disable-rpath  \
    40. --disable-debug
    41. [root@wanghualang php-7.4.1]# sed -i '/^EXTRA_LIBS/s/$/ -llber/' /usr/local/src/php-7.4.1/Makefile
    42. [root@wanghualang php-7.4.1]# make
    43. [root@wanghualang php-7.4.1]# make install

    第十五步 创建PHP配置文件、修改PHP配置文件(为Zabbix前端部署做必要的准备)

    1. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/php.ini-production /usr/local/php/etc/php.ini        
    2. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf        
    3. [root@wanghualang ~]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf    
    4. [root@wanghualang ~]# sed -i 's/post_max_size = 8M/post_max_size = 16M/' /usr/local/php/etc/php.ini  
    5. [root@wanghualang ~]# sed -i 's/max_execution_time = 30/max_execution_time = 300/' /usr/local/php/etc/php.ini  
    6. [root@wanghualang ~]# sed -i 's/max_input_time = 60/max_input_time = 300/' /usr/local/php/etc/php.ini  
    7. [root@wanghualang ~]# sed -i 's/\;date\.timezone =/date\.timezone = \"Asia\/Shanghai\"/' /usr/local/php/etc/php.ini  

    第十六步 配置PHP启动服务脚本、开机启动

    1. [root@wanghualang ~]# cp /usr/local/src/php-7.4.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm        
    2. [root@wanghualang ~]# chmod +x /etc/init.d/php-fpm        
    3. [root@wanghualang ~]# chkconfig --add php-fpm        
    4. [root@wanghualang ~]# chkconfig php-fpm on   

    第十七步 编译安装Zabbix

    1. [root@wanghualang ~]# cd /usr/local/src/zabbix-4.4.4  
    2. [root@wanghualang zabbix-4.4.4]# ./configure  \
    3. --prefix=/usr/local/zabbix  \
    4. --enable-server  \
    5. --enable-agent  \
    6. --enable-java  \
    7. --with-ssh2  \
    8. --with-ldap  \
    9. --with-iconv  \
    10. --with-mysql  \
    11. --with-libcurl  \
    12. --with-libpcre  \
    13. --with-libxml2  \
    14. --with-openssl  \
    15. --with-unixodbc  \
    16. --with-net-snmp  \
    17. --with-openipmi
    18. [root@wanghualang zabbix-4.4.4]# make  
    19. [root@wanghualang zabbix-4.4.4]# make install  

    第十八步 安装ngx_lua_waf防火墙

    1. [root@wanghualang ~]# mv /usr/local/src/ngx_lua_waf-1.0.3 /usr/local/nginx/conf/waf  

    第十九步 创建Zabbix网站目录

    1. [root@wanghualang ~]# mv /usr/local/src/zabbix-4.4.4/frontends/php /usr/local/nginx/html/zabbix  
    2. [root@wanghualang ~]# chown -R nginx:nginx /usr/local/nginx/html/zabbix  

    第二十步 配置Nginx

    1. [root@wanghualang ~]# mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak      
    2. [root@wanghualang ~]# vim /usr/local/nginx/conf/nginx.conf  
    3.     
    4. #运行用户        
    5. user nginx nginx;        
    6.         
    7. #工作进程        
    8. worker_processes auto;        
    9.         
    10. #最大文件打开数        
    11. worker_rlimit_nofile 51200;        
    12.         
    13. #进程PID        
    14. pid /usr/local/nginx/logs/nginx.pid;        
    15.         
    16. #错误日志        
    17. error_log /usr/local/nginx/logs/error.log crit;        
    18.         
    19. #工作模式及连接数上限        
    20. events {        
    21.   use epoll;        
    22.   worker_connections 51200;        
    23.   multi_accept on;        
    24. }        
    25.         
    26. http {        
    27.     
    28.   #配置ngx_lua_waf防火墙    
    29.   lua_package_path "/usr/local/lib/lua/?.lua;/usr/local/nginx/conf/waf/?.lua;;";    
    30.   lua_shared_dict limit 10m;    
    31.   init_by_lua_file /usr/local/nginx/conf/waf/init.lua;    
    32.   access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;    
    33.       
    34.   #加载虚拟主机配置文件        
    35.   include /usr/local/nginx/vhost/*.conf;        
    36.         
    37.   #文件扩展名与类型映射表        
    38.   include mime.types;        
    39.         
    40.   #默认文件类型        
    41.   default_type application/octet-stream;        
    42.         
    43.   #请求缓存        
    44.   server_names_hash_bucket_size 512;        
    45.   client_header_buffer_size 32k;        
    46.   large_client_header_buffers 4 32k;        
    47.   client_max_body_size 50m;        
    48.         
    49.   #高效传输模式        
    50.   sendfile on;        
    51.   tcp_nopush on;        
    52.   tcp_nodelay on;        
    53.         
    54.   #连接超时时间        
    55.   keepalive_timeout 60;        
    56.         
    57.   #FastCGI优化        
    58.   fastcgi_connect_timeout 300;        
    59.   fastcgi_send_timeout 300;        
    60.   fastcgi_read_timeout 300;        
    61.   fastcgi_buffer_size 64k;        
    62.   fastcgi_buffers 4 64k;        
    63.   fastcgi_busy_buffers_size 128k;        
    64.   fastcgi_temp_file_write_size 256k;        
    65.   fastcgi_intercept_errors on;        
    66.         
    67.   #开启GZIP压缩功能        
    68.   gzip on;        
    69.   gzip_min_length 1k;        
    70.   gzip_buffers 4 16k;        
    71.   gzip_http_version 1.1;        
    72.   gzip_comp_level 2;        
    73.   gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;        
    74.   gzip_vary on;        
    75.   gzip_proxied expired no-cache no-store private auth;        
    76.   gzip_disable "MSIE [1-6]\.";        
    77.         
    78.   #限制访问频率        
    79.   #limit_conn_zone $binary_remote_addr zone=perip:10m;        
    80.   #limit_conn_zone $server_name zone=perserver:10m;        
    81.         
    82.   #隐藏响应header和错误通知中的版本号        
    83.   server_tokens off;        
    84.   access_log off;        
    85. }  

    第二十一步 配置Zabbix网站虚拟主机

    1. [root@wanghualang ~]# mkdir /usr/local/nginx/vhost  
    2. [root@wanghualang ~]# vim /usr/local/nginx/vhost/zabbix.conf    
    3.     
    4. server {        
    5.         
    6.   #监听端口        
    7.   listen 80;        
    8.         
    9.   #网站根目录        
    10.   root /usr/local/nginx/html/zabbix/;        
    11.         
    12.   #虚拟主机名称        
    13.   server_name 10.0.0.21;        
    14.         
    15.   #网站主页排序        
    16.   index index.php index.html index.htm default.php default.htm default.html;        
    17.         
    18.   #网站访问、错误日志        
    19.   access_log /usr/local/nginx/logs/zabbix.access.log;        
    20.   error_log /usr/local/nginx/logs/zabbix.error.log;        
    21.         
    22.   #流量限制(网站最大并发数500|单IP访问最大并发数50|每个请求流量上限1024KB)        
    23.   #limit_conn perserver 500;        
    24.   #limit_conn perip 50;        
    25.   #limit_rate 1024k;        
    26.           
    27.   #配置错误页面        
    28.   #error_page 404 /404.html;        
    29.   #error_page 500 502 503 504 /50x.html;        
    30.         
    31.   #禁止访问文件和目录        
    32.   location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {        
    33.     return 404;        
    34.   }        
    35.         
    36.   #配置资源防盗链        
    37.   location ~ .*\.(jpg|jpeg|gif|png|js|css)$ {        
    38.     expires 30d;        
    39.     access_log /dev/null;        
    40.     valid_referers none blocked 10.0.0.21;        
    41.     if ($invalid_referer) {        
    42.       return 404;        
    43.     }        
    44.   }        
    45.         
    46.   #配置图片资源缓存时间        
    47.   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {        
    48.     expires 30d;        
    49.     error_log off;        
    50.     access_log /dev/null;        
    51.   }        
    52.           
    53.   #设置样式资源缓存时间        
    54.   location ~ .*\.(js|css)?$ {        
    55.     expires 12h;        
    56.     error_log off;        
    57.     access_log /dev/null;        
    58.   }        
    59.         
    60.   #解析PHP        
    61.   location ~* \.php$ {        
    62.     fastcgi_index index.php;        
    63.     fastcgi_pass 127.0.0.1:9000;        
    64.     include fastcgi_params;        
    65.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        
    66.     fastcgi_param SCRIPT_NAME $fastcgi_script_name;        
    67.   }        
    68. }   

    第二十二步 创建Zabbix日志目录、相关目录

    1. [root@wanghualang ~]# mkdir /usr/local/zabbix/{log,run,tmp}  
    2. [root@wanghualang ~]# chown -R zabbix:zabbix /usr/local/zabbix   

    第二十三步 配置Zabbix服务端

    1. [root@wanghualang ~]# mv /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf.bak  
    2. [root@wanghualang ~]# vim /usr/local/zabbix/etc/zabbix_server.conf    
    3.     
    4. #监听IP地址    
    5. ListenIP=10.0.0.21    
    6.     
    7. #监听服务端口    
    8. ListenPort=10051    
    9.     
    10. #数据库主机    
    11. DBHost=127.0.0.1    
    12.     
    13. #数据库名称    
    14. DBName=zabbix    
    15.     
    16. #数据库用户    
    17. DBUser=zabbix    
    18.     
    19. #数据库密码    
    20. DBPassword=123456    
    21.     
    22. #数据库套接字    
    23. DBSocket=/tmp/mysql.sock    
    24.     
    25. #数据库端口    
    26. DBPort=3306    
    27.     
    28. #日志类型    
    29. LogType=file    
    30.     
    31. #日志文件    
    32. LogFile=/usr/local/zabbix/log/zabbix_server.log    
    33.     
    34. #日志大小    
    35. LogFileSize=0    
    36.     
    37. #日志等级    
    38. DebugLevel=3    
    39.     
    40. #PID文件    
    41. PidFile=/usr/local/zabbix/run/zabbix_server.pid    
    42.     
    43. #套接字目录    
    44. SocketDir=/usr/local/zabbix/tmp    
    45.     
    46. #监控项检测超时    
    47. Timeout=30    
    48.     
    49. #慢日志查询    
    50. LogSlowQueries=3000    
    51.     
    52. #告警脚本目录    
    53. AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts    
    54.     
    55. #扩展脚本目录    
    56. ExternalScripts=/usr/local/zabbix/share/zabbix/externalscripts    
    57.     
    58. #SNMPTrapperFile    
    59. SNMPTrapperFile=/usr/local/zabbix/log/snmptrap.log  

    第二十四步 配置Zabbix客户端(可选)

    1. [root@wanghualang ~]# mv /usr/local/zabbix/etc/zabbix_agentd.conf /usr/local/zabbix/etc/zabbix_agentd.conf.bak  
    2. [root@wanghualang ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf    
    3.     
    4. #监控主机名    
    5. Hostname=node1    
    6.     
    7. #服务端IP    
    8. Server=10.0.0.21    
    9.     
    10. #服务端IP(主动监控)    
    11. #ServerActive=10.0.0.21    
    12.     
    13. #监听IP地址    
    14. ListenIP=10.0.0.21    
    15.     
    16. #监听网络端口    
    17. ListenPort=10050    
    18.     
    19. #日志类型    
    20. LogType=file    
    21.     
    22. #日志文件    
    23. LogFile=/usr/local/zabbix/log/zabbix_agentd.log    
    24.     
    25. #日志大小    
    26. LogFileSize=0    
    27.     
    28. #日志等级    
    29. DebugLevel=3    
    30.     
    31. #PID文件    
    32. PidFile=/usr/local/zabbix/run/zabbix_agentd.pid    
    33.     
    34. #StartAgents(选择主动监控时为0)    
    35. StartAgents=3    
    36.     
    37. #允许使用自定义监控    
    38. UnsafeUserParameters=1    
    39.     
    40. #自定义监控配置文件    
    41. Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf  

    第二十五步 创建软链接

    1. [root@wanghualang ~]# ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/zabbix_server  
    2. [root@wanghualang ~]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/zabbix_agentd  

    第二十六步 加载动态链接库

    1. [root@wanghualang ~]# echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf  
    2. [root@wanghualang ~]# ldconfig  

    第二十七步 配置Zabbix启动服务脚本、开机启动

    1. [root@wanghualang ~]# cp /usr/local/src/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d  
    2. [root@wanghualang ~]# cp /usr/local/src/zabbix-4.4.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d  
    3. [root@wanghualang ~]# chmod +x /etc/init.d/zabbix_server  
    4. [root@wanghualang ~]# chmod +x /etc/init.d/zabbix_agentd  
    5. [root@wanghualang ~]# chkconfig --add zabbix_server  
    6. [root@wanghualang ~]# chkconfig --add zabbix_agentd  
    7. [root@wanghualang ~]# chkconfig zabbix_server on  
    8. [root@wanghualang ~]# chkconfig zabbix_agentd on  

    第二十八步 启动Nginx、MySQL、PHP

    1. [root@wanghualang ~]# service nginx start  
    2. [root@wanghualang ~]# service mysqld start      
    3. [root@wanghualang ~]# service php-fpm start   

    第二十九步 创建Zabbix网站数据库

    1. [root@wanghualang ~]# mysql  
    2.   
    3. #登陆安全加固(下次登录时需要输入密码)      
    4. mysql> use mysql;      
    5. mysql> update user set authentication_string=PASSWORD("123456") where user='root';        
    6. mysql> update user set plugin="mysql_native_password";      
    7.   
    8. #创建数据库(zabbix)、用户(zabbix)、密码(123456)  
    9. mysql> create database `zabbix` character set 'utf8mb4' collate 'utf8mb4_general_ci';  
    10. mysql> create user `zabbix`@`127.0.0.1` identified by '123456';  
    11. mysql> grant all privileges on zabbix.* to `zabbix`@`127.0.0.1`;  
    12. mysql> use zabbix;  
    13. mysql> source /usr/local/src/zabbix-4.4.4/database/mysql/schema.sql  
    14. mysql> source /usr/local/src/zabbix-4.4.4/database/mysql/images.sql  
    15. mysql> source /usr/local/src/zabbix-4.4.4/database/mysql/data.sql  
    16. mysql> flush privileges;  
    17. mysql> quit  

    第三十步 启动Zabbix服务端、客户端

    1. [root@wanghualang ~]# service zabbix_server start  
    2. [root@wanghualang ~]# service zabbix_agentd start  

    第三十一步 安装Zabbix网站

    Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台Linux搭建Zabbix监控平台
    匿名

    发表评论

    匿名网友 填写信息