评论

收藏

[Linux] zabbix系列教程:zabbix4.0 LTS版本安装

服务系统 服务系统 发布于:2021-07-30 20:02 | 阅读数:248 | 评论:0

操作系统版本:CentOS release 6.9
官网文档:https://www.zabbix.com/documentation/4.0/manual/installation/install

一、升级libcurl到7.57
yum install openssl-devel -y
yum install gcc make -y
mkdir -p /data/soft
cd /data/soft
wget https://curl.se/download/curl-7.57.0.tar.gz
tar xvzf curl-7.57.0.tar.gz
cd curl-7.57.0
./configure
make
make install
echo "/usr/local/lib" >> /etc/ld.so.conf
二、php5.6安装
rpm -ivh https://mirror.webtatic.com/yum/el6/latest.rpm
yum -y install php56w php56w-common php56w-fpm php56w-gd php56w-bcmath php56w-xml php56w-xmlrpc php56w-soap php56w-mbstring php56w-mcrypt php56w-ldap php56w-mysql php56w-pdo php56w-opcache
php -v
php-fpm -v
三、Mysql 5.7 安装
可以选择yum安装或者手动安装:
1、yum 安装
rpm -ivh https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm
yum makecache
yum install mysql mysql-server mysql-devel -y
2、rpm包安装
rpm包下载地址:https://dev.mysql.com/downloads/mysql/
tar xvf mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar
rpm -Uvh mysql-community-common-*.rpm mysql-community-server-*.rpm mysql-community-client-*.rpm mysql-community-libs-*.rpm mysql-community-devel-*.rpm
四、安装其他依赖软件
1、fping
yum install fping -y
2、net-snmp  
yum install net-snmp net-snmp-devel net-snmp-utils -y
3、OpenIPMI
yum install OpenIPMI OpenIPMI-devel ipmitool -y
4、libxml2
yum install libxml2-devel -y
5、java(>=1.6,openjdk)
yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-devel
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
6、其他
如果服务器是新服务器,可能需要安装以下依赖:
yum -y install libevent-devel
yum -y install pcre*
五、编译安装Zabbix 4.0 LTS
1、创建zabbix用户、用户组
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
2、下载zabbix源码包:
https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.32.tar.gz
3、开始编译安装:
cd /data/soft
tar xvzf zabbix-4.0.32.tar.gz
cd zabbix-4.0.32
mkdir /opt/zabbix-4.0.32
./configure --prefix=/opt/zabbix-4.0.32 --enable-server --enable-agent --enable-java --with-mysql --with-openipmi --with-net-snmp --with-libcurl --with-libxml2
make
make install
4、安装后处理:
cp misc/init.d/fedora/core5/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_*
\cp -r /opt/zabbix-4.0.32/share/* /usr/local/share/
ln -s /opt/zabbix-4.0.32/sbin/zabbix_server /usr/local/sbin/zabbix_server
ln -s /opt/zabbix-4.0.32/sbin/zabbix_agentd /usr/local/sbin/zabbix_agentd
5、安装目录赋权:
chown -R zabbix. /opt/zabbix-4.0.32
六、配置web服务(nginx)
yum安装nginx:
yum install nginx -y
部署zabbix前端代码:
mkdir -p /data/www/zabbix-4.0.32
ln -s /data/www/zabbix-4.0.32 /data/www/zabbix
\cp -r frontends/php/* /data/www/zabbix
chown -R nginx. /data/www
chmod 755 /data
修改php配置:
PHP_INI="/etc/php.ini"
FPM_CONF="/etc/php-fpm.d/www.conf"
sed -i '/^;default_charset/cdefault_charset = "utf-8"' $PHP_INI
sed -i '/^expose_php/cexpose_php = Off' $PHP_INI  
sed -i '/^max_execution_time/cmax_execution_time = 600' $PHP_INI
sed -i '/^max_input_time/cmax_input_time = 600' $PHP_INI
sed -i '/^memory_limit/cmemory_limit = 256M'  $PHP_INI
sed -i '/^post_max_size/cpost_max_size = 32M' $PHP_INI
sed -i '/^upload_max_filesize/cupload_max_filesize = 300M' $PHP_INI
sed -i '/^max_file_uploads/cmax_file_uploads = 30' $PHP_INI
sed -i '/^;always_populate_raw_post_data/calways_populate_raw_post_data = -1'  $PHP_INI
sed -i '/^;date.timezone/cdate.timezone = "Asia/Shanghai"'  $PHP_INI
sed -i '/^disable_functions/cdisable_functions = exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source syslog,readlink,symlink,popepassthru,stream_socket_server'  $PHP_INI
sed -i 's/user = apache/user = nginx/' $FPM_CONF
sed -i 's/group = apache/group = nginx/' $FPM_CONF
sed -i '/^pm = dynamic/cpm = static' $FPM_CONF
sed -i '/^pm.max_children/cpm.max_children = 10' $FPM_CONF
sed -i '/^;pm.status_path/cpm.status_path = /php-status' $FPM_CONF
sed -i '/^;request_terminate_timeout/crequest_terminate_timeout=600' $FPM_CONF
sed -i '/^;request_slowlog_timeout/crequest_slowlog_timeout=3' $FPM_CONF  
setfacl -R -m u:nginx:rwx /var/lib/php
启动php-fpm:
service php-fpm start
修改/etc/nginx/nginx.conf
user  nginx;
worker_processes auto;
error_log  /data/logs/nginx_error.log  crit;
worker_rlimit_nofile 51200;
events
{
  use epoll;
  worker_connections 51200;
}
http
{
  include     mime.types;
  default_type  application/octet-stream;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
  sendfile on;
  tcp_nopush   on;
  keepalive_timeout 60;
  tcp_nodelay on;
  proxy_buffer_size 16k;
  proxy_buffers  4 64k;
  proxy_busy_buffers_size 128k;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 256k;
  gzip on;
  gzip_min_length  1k;
  gzip_buffers   4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types     text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
  server_tokens off;
  log_format  access   '$remote_addr - $remote_user [$time_local] "$request"  '
   '$status $body_bytes_sent "$http_referer"  '
   '"$http_user_agent" $http_x_forwarded_for ';
  access_log /data/logs/access.log access;
  reset_timedout_connection on;
  include conf.d/*.conf;
}
创建/etc/nginx/conf.d/zabbix.conf
server {
   listen     80;
   server_name  _;
 
   location / {
     root /data/www/zabbix;
     index index.php;
   }
   location ~ \.php$ {
     root /data/www/zabbix;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include    fastcgi_params;  
   }  
}
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.old
mkdir -p /data/logs
chown -R nginx. /data/logs
usermod -aG zabbix nginx
启动nginx:
nginx -t && service nginx start
七、数据库初始化
service mysqld start
获取mysql临时密码,用于首次登陆MySQL:
grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'
初始化zabbix数据库:
mysql -uroot -p
mysql> set password=password('Admin@#123');
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbix@#123';
mysql> quit;
cd database/mysql
mysql -uzabbix -p'Zabbix@#123' zabbix < schema.sql
mysql -uzabbix -p'Zabbix@#123' zabbix < images.sql
mysql -uzabbix -p'Zabbix@#123' zabbix < data.sql
八、修改zabbix配置文件
1、创建zabbix日志目录
mkdir /var/log/zabbix
chown zabbix. /var/log/zabbix/
2、修改zabbix_server.conf
cd /opt/zabbix-4.0.32/etc/
vi zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=100
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@#123
DBSocket=/var/lib/mysql/mysql.sock
StartPollers=15
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
StartSNMPTrapper=1
HousekeepingFrequency=1
Timeout=30
AlertScriptsPath=/opt/zabbix-4.0.32/share/zabbix/alertscripts
ExternalScripts=/opt/zabbix-4.0.32/share/zabbix/externalscripts
LogSlowQueries=3000
Include=/opt/zabbix-4.0.32/etc/zabbix_server.conf.d/
3、修改zabbix_agentd.conf
vi zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Timeout=30
Include=/opt/zabbix-4.0.32/etc/zabbix_agentd.conf.d/
4、zabbix java-gateway
cd /opt/zabbix-4.0.32/sbin/zabbix_java
sed -i 's/kill/kill -9/' shutdown.sh
九、启动服务
启动zabbix:
service zabbix_server start
service zabbix_agentd start
设置开机启动:
chkconfig mysqld on
chkconfig php-fpm on
chkconfig nginx on
chkconfig zabbix_server on
chkconfig zabbix_agentd on
启动zabbix java-gateway:
cd /opt/zabbix-4.0.32/sbin/zabbix_java
./startup.sh

十、安装完毕,访问zabbix frontend
http://zabbix前端IP/


关注下面的标签,发现更多相似文章