centos zabbix服务搭建

一、环境准备

zabbix server :centos7 node2 192.168.58.136

zabbix agent:  centos7  node1 192.168.58.135

                          centos7  node3 192.168.58.137

 二、LNMP环境搭建(编译安装)

编译环境安装:yum install gcc gcc-c++ make 

 1、安装Mysql
#下载二进制包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
#解压二进制包
tar -xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
 
#配置环境变量
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql
 
vi /etc/profile
# 添加以下内容
PATH=/usr/local/mysql/bin:$PATH
 
 
#创建mysql用户
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
 
#创建日志文件
touch /var/log/mysql/mysql-error.log
touch /var/log/mysql/mysql.log
touch  /var/log/mysql/slow-query.log
 
 
#给予对应的权限
chown mysql.mysql /data/mysql -R
chown mysql.mysql /var/log/mysql -R
 
#初始化mysql
mysqld  --defaults-file=/etc/my.cnf --initialize #需要先配置好my.cnf
 
或者
MySQL_Data_Dir=/data/mysql
mysqld --initialize-insecure --basedir=/app/mysql --datadir=${MySQL_Data_Dir} --user=mysql 
 
#启动mysql
cp mysql/support-files/mysql.server /etc/init.d/
/etc/init.d/mysql.server start
 
mysql -uroot -p  #初始密码在mysql-error.log 文件里
ALTER USER 'root'@'localhost' identified by  'password';
flush privileges;
 
 
#创建Zabbix库
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@'127.0.0.1' identified by 'password';
grant all privileges  on zabbix.* to zabbix@'127.0.0.1';
flush privileges;
2、安装PHP
添加源
yum install epel-release 
#安装依赖
yum install  openssl-devel bzip2-devel libffi-devel  sqlite-devel gpm-libs oniguruma oniguruma-devel libsodium libsodium-devel xz-devel libxml2-devel libcurl-devel
yum install  bash-completion bash-completion-extras libicu-devel libjpeg libjpeg-devel  nss_ldap cmake  boost-devel libevent libevent-devel gd gd-devel openjpeg-devel 
yum install  libgcrypt-devel libpng-devel libgpg-error-devel libxslt-devel cmake libmcrypt-devel libmcrypt  recode-devel recode  
 
#下载安装包
#wget https://www.php.net/distributions/php-8.2.7.tar.gz
wget https://www.php.net/distributions/php-7.4.28.tar.gz
 
#编译安装
./configure --prefix=/usr/local/php --with-config-file-path=//usr/local/php/etc --with-fpm-user=nginx --with-fpm-group=nginx --with-curl  --enable-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64  --with-mysqli --with-openssl  --with-pdo-mysql --with-pdo-sqlite --with-pear   --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath  --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml  --enable-fpm  --with-freetype --with-jpeg  --with-xpm
 
#make -j4 没涉及到
 
make install
 
#配置环境变量
vim /etc/profile 
PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH
source /etc/profile
# 输入 php -v 检查是否安装成功,环境变量并生效
 
#配置PHP
cp php.ini-production  /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
 
vim /usr/local/php/etc/php.ini
max_execution_time = 300 改为 300
max_input_time = 300 改为300
post_max_size = 16M
date.timezone = Asia/Shanghai

#创建运行用户
groupadd nginx
useradd -r -g nginx -s /sbin/nologin nginx
 
#启动
/etc/init.d/php-fpm start

vim /usr/lib/systemd/system/php-fpm.service

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
3、安装NGINX
#下载源包
 wget https://nginx.org/download/nginx-1.20.2.tar.gz
 
#安装ngx_brotli
yum install git
cd /usr/local/
git clone https://github.com/google/ngx_brotli
cd ngx_brotli 
git submodule update --init
 
#编译安装nginx
tar -zxf nginx-1.20.2.tar.gz 
cd nginx-1.20.2/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-openssl-opt=enable-tlsext --with-stream --with-http_gzip_static_module --with-http_realip_module --with-http_image_filter_module --with-http_sub_module --add-module=/usr/local/ngx_brotli
 
make install 
 
#配置nginx, zabbix web的路径,本文放在/var/local/www
#配置过于简单,度娘太多,可自行抄
关健配置如下:
##########zabbix web server###############
    root /var/local/www/zabbix;
 
    location / {
        index  index.html index.htm index.php;
         #stub_status on;
        access_log off;
    }
 
 
    location ~ \.php$ {
        include        fastcgi_params;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME /var/local/www/zabbix$fastcgi_script_name;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_script_name;
    }
 
 
#####nginx.conf#####
    brotli on;
    brotli_comp_level 6;
    brotli_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript font/ttf;
 
 
#启动Nginx
/usr/local/nginx/sbin/nginx

vim /usr/lib/systemd/system/nginx.service

Nginx 
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

 4、JDK安装
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar -zxf jdk-17_linux-x64_bin.tar.gz
 
配置环境变量
 vim /etc/profile #加入以下内容
 
JAVA_HOME=/usr/local/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin
 
source /etc/profile #马上生效
5、Golang安装
#下载源包
https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz
 
#解压包
tar -zxf go1.18.linux-amd64.tar.gz 
 
#配置环境变量
 vim /etc/profile
PATH=/usr/local/go/bin:$PATH

三、zabbix server环境搭建 

1、zabbix server源码编译安装
升级GCC
#安装scl源:
yum install centos-release-scl scl-utils-build
#升级GCC
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
gcc --version
 
安装依赖
yum install openssl-devel pcre-devel zlib-devel  unixODBC-devel net-snmp-devel  libssh2-devel OpenIPMI-devel  openldap-devel
 
#下载源码包
 wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.2.tar.gz
 
#解压
 tar -zxf zabbix-6.0.2.tar.gz 
 
#编译安装
groupadd zabbix
useradd -M -s /sbin/nologin -g zabbix zabbix
 
 
./configure  --prefix=/usr/local/zabbix --enable-java  --enable-server  -enable-proxy   --with-mysql  --with-ssh2 --with-net-snmp --with-libcurl --with-libxml2 --with-iconv  --with-unixodbc  --with-openipmi   --with-openssl --enable-agent2 --enable-webservice   --with-ldap
 2、zabbix server配置


#配置Zabbix Server
vi /usr/local/zabbix/etc/zabbix_server.conf 

LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=password
DBPort=3306
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
StartReportWriters=2
WebServiceURL=http://localhost:10053/report
 
#启动
/usr/local/zabbix/sbin/zabbix_server   

#停止
ps -ef|grep  zabbix|awk '{cmd="kill -9 "$2;system(cmd)}'
 
cat /usr/local/zabbix/etc/zabbix_server.conf| grep -v "^#"|grep -v "^$"

#启动Zabbix server可能会因为缺少连接mysql的lib库,导致启动失败,根据提示,从mysql的二进包复制进到/lib64
cp mysql-8.0.28-linux-glibc2.12/lib/libmysqlclient.so.21 /lib64/
cp mysql-8.0.28-linux-glibc2.12/lib/libcrypto.so.1.1 /lib64/
cp mysql-8.0.28-linux-glibc2.12/lib/libssl.so.1.1 /lib64/
 
#开启端口
firewall-cmd  --permanent  --zone=public  --add-port=10051/tcp
firewall-cmd  --reload
3、zabbix agentd配置

客户端安装:

#客户端安装
tar zxvf zabbix-6.0.9.tar.gz
cd zabbix-6.0.9/
./configure --prefix=/usr/local/zabbix/ --enable-agent
 make install

cd /usr/local/zabbix/etc/
vim zabbix_agentd.conf

[root@node1 etc]# cat zabbix_agentd.conf|grep -v '^#'|grep -v '^$'
LogFile=/tmp/zabbix_agentd.log
Server=192.168.58.136
StartAgents=3
ServerActive=192.168.58.136
Hostname=192.168.58.135
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1

[root@node1 etc]# cat zabbix_agentd.conf.d/memory.conf |grep -v '^#'|grep -v '^$'
UserParameter=memory.usage[*],/usr/bin/cat /proc/meminfo|awk 'BEGIN{IGNORECASE=1}/^$1/{print $$2}'

#开启端口
firewall-cmd --permanent --zone=public  --add-port=10050/tcp
firewall-cmd --reload

#开启服务
/usr/local/zabbix/sbin/zabbix_agent -c /usr/local/zabbix/etc/zabbix_agent.conf

停止:
ps -ef|grep  zabbix|awk '{cmd="kill -9 "$2;system(cmd)}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值