一、安裝nginx
二、安裝PHP
三、源碼安裝zabbix
四、配置web頁面
五、安裝zabbix proxy
六、安裝grafana
附1:安裝php報錯問題處理
附2:Mysql數據庫配置
附3:配置centos7.8系統yum源
一、安裝nginx
安裝如下依賴包:
sudo yum install gcc pcre-devel openssl-devel
創建nginx用戶和用戶組:
sudo groupadd -f nginx
sudo useradd -g nginx nginx
下載上傳nginx-1.19.2.tar.gz至服務器,解壓文件包命令如下:
tar -xvf nginx-1.19.2.tar.gz
安裝編譯nginx命令如下:
./configure \
--group=nginx \
--user=nginx \
--prefix=/u01/nginx \
--conf-path=/u01/nginx/etc/nginx/nginx.conf \
--error-log-path=/u01/nginx/logs/error.log \
--http-log-path=/u01/nginx/logs/access.log \
--http-client-body-temp-path=/u01/nginx/tmp/nginx/client_body \
--http-proxy-temp-path=/u01/nginx/tmp/nginx/proxy \
--http-fastcgi-temp-path=/u01/nginx/tmp/nginx/fastcgi \
--pid-path=/u01/nginx/logs/nginx.pid \
--lock-path=/u01/nginx/lock/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-pcre
sudo make && make install
配置nginx.conf
**************************************************************************
location ~ \.php$ {
# root html;
root /u01/nginx/html/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
**************************************************************************
配置nginx開機自啟動
1、創建/usr/lib/systemd/system/nginx.service文件,輸入如下內容:s
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/u01/nginx/logs/nginx.pid
ExecStartPre=/u01/nginx/sbin/nginx -t -c /u01/nginx/etc/nginx/nginx.conf
ExecStart=/u01/nginx/sbin/nginx -c /u01/nginx/etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、重載系統服務:
systemctl daemon-reload
3、設置開機啟動:
systemctl enable zabbix-server.service
二、安裝PHP
下載安裝如下依賴包:
sudo yum install libxml2-devel sqlite-devel libcurl-devel libpng-devel libjpeg-turbo-devel libXpm-devel freetype-devel libicu-devel gcc-c++ libxslt-devel oniguruma-devel libsodium-devel openldap-devel net-snmp-devel
如果yum源沒有oniguruma oniguruma-devel libsodium libsodium-devel libwebp-devel安裝包,則需要從網上下載安裝。
sudo cp -frp /usr/lib64/libldap* /usr/lib/
源碼安裝libzip-1.2.0
./configure
sudo make && sudo make install
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
源碼安裝PHP
sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/php --with-freetype --with-jpeg --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --enable-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-zip --enable-soap --with-gettext --enable-opcache --with-xsl --with-webp --with-xpm --with-snmp --with-ldap
備注:需要在root環境下編譯,,否則會提示libzip錯誤
make && make install
php啟動命令:
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
配置php-fpm
cp php.ini-production /usr/local/php/etc/php.ini
修改php.ini文件,將對應參數做如下修改。
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
date.timezone =Asia/Shanghai
cd sapi/fpm && cp php-fpm.conf /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
測試php-fpm配置
/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
sudo chown -R nginx:nginx /usr/local/php/var
php-fpm開機自啟動
vim /usr/lib/systemd/system/php-fpm.service
***********************************************
[Unit]
Description=PHP-FPM
After=network.target syslog.target2
[Install]
WantedBy=default.target
Alias=php-fpm.service
[Service]
User=nginx
Group=nginx
#User and Group can be set in the php-fpm configure file
Type=forking
#PIDFile=/usr/local/php/var/run/php-fpm.pid
#不需要在這里指定pid文件位置,需要到php-fpm.conf文件中指定
ExecStart=/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
ExecStop=/bin/kill -INT $MAINPID
ExecReload=/bin/kill -USR2 $MAINPID
****************************************************************************
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
systemctl daemon-reload
Systemctl enable php-fpm.service
Systemctl start php-fpm.service
三、源碼安裝zabbix
安裝如下依賴包:
yum install unixODBC-devel ncurses-devel OpenIPMI libevent java-1.8.0-openjdk-devel openldap-devel gnutls-devel
下載安裝libssh2-devel OpenIPMI-devel libevent-devel
下載上傳zabbix安裝包至服務器,解壓命令如下:tar -xvf zabbix-5.0.3.tar.gz
開始編譯安裝:
./configure --prefix=/u01/zabbix --enable-server --enable-ipv6 --with-mysql=/app/mysql5.7.26/install/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-jabber --with-ssh2 --with-zlib --with-libpcre --enable-java --with-ldap --with-gnutls
sudo make && sudo make install
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
cd zabbix-5.0.3
cp -r ui/ /u01/nginx/html/zabbix
chmod 777 /u01/nginx/html/zabbix/conf
cd /u01/zabbix
mkdir logs
chown -R zabbix:zabbix /app/zabbix
systemctl restart nginx.service
修改/app/zabbix/etc/zabbix_server.conf文件,將對應參數修改如下。
LogFile=/u01/zabbix/logs/zabbix_server.log
PidFile=/u01/zabbix/logs/zabbix_server.pid
DBHost=10.210.4.35
DBName=zabbix
DBUser=zabbix
DBPassword=******
DBPort=3306
配置zabbix服務開機自啟動
1、創建/etc/systemd/system/zabbix-server.service文件,並輸入如下內容:
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/u01/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/u01/zabbix/sbin/zabbix_server
Type=forking
Restart=on-failure
PIDFile=/u01/zabbix/logs/zabbix_server.pid
KillMode=control-group
ExecStart=/u01/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
2、重載系統服務:
systemctl daemon-reload
3、設置開機啟動:
systemctl enable zabbix-server.service
四、配置web頁面
打開瀏覽器http://$ip/setup.php
點擊下一步;
如果沒有錯誤提示,繼續點擊下一步;
輸入MySQL數據庫連接信息,然后點擊下一步;
如果出現如下信息,說明zabbix已經安裝配置完成!
五、安裝zabbix proxy
創建用戶
groupadd -g 5007 zabbix
useradd -u 5007 -g zabbix -G zabbix zabbix
創建proxy 數據庫,proxy庫只需要執行schema.sql
/mysql/mysql8.0/bin/mysql -uroot -p -S /u01/mysqlzabix/mysql.sock
create database zabbixproxy01 character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'%' identified by 'Bqproxy@2020';
grant all privileges on *.* to 'zabbix'@'%' with grant option;
flush privileges;
sudo /mysql/mysql8.0/bin/mysql -uzabbix -p -S /u01/mysqlzabix/mysql.sock;
use zabbixproxy01;
source schema.sql;
quit
安裝依賴包
sudo yum install mysql++-devel net-snmp-devel libssh2-devel libxml2-devel OpenIPMI-devel libevent-devel gnutls-devel java-1.8.0-openjdk-devel openldap-devel libcurl-devel unixODBC-devel
編譯安裝proxy
./configure --prefix=/u01/zabbix --enable-proxy --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-jabber --with-ssh2 --with-zlib --with-libpcre --enable-java --with-ldap --with-gnutls
sudo make && sudo make install
sudo mkdir /u01/zabbix/logs
sudo chown -R zabbix:zabbix /u01/zabbix
配置開機自啟動
1、創建/etc/systemd/system/zabbix-proxy.service文件,並輸入如下內容:
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/u01/zabbix/etc/zabbix_proxy.conf"
EnvironmentFile=-/u01/zabbix/sbin/zabbix_proxy
Type=forking
Restart=on-failure
PIDFile=/u01/zabbix/logs/zabbix_proxy.pid
KillMode=control-group
ExecStart=/u01/zabbix/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
2、重載系統服務:
systemctl daemon-reload
3、設置開機啟動:
systemctl enable zabbix-server.service
六、安裝grafana
下載上傳安裝包至服務器grafana-7.2.0-1.x86_64.rpm;
執行安裝命令:
sudo yum install grafana-7.2.0-1.x86_64.rpm
sudo systemctl daemon-reload
sudo systemctl enable grafana-server.service
sudo systemctl start grafana-server.service
打開瀏覽器,輸入http://zabbix.baonengmotor.com:3000/登錄grafana,輸入用戶名密碼,admin/Xqtsbsb*16。
安裝zabbix插件
下載上傳alexanderzobnin-zabbix-app-4.0.1.zip至服務器/var/lib/grafana/plugins上,並解壓:
unzip alexanderzobnin-zabbix-app-4.0.1.zip
sudo systemctl restart grafana-server.service
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.2.x86_64.rpm
sudo yum localinstall influxdb-1.8.2.x86_64.rpm
編輯配置文件
vim /etc/influxdb/influxdb.conf
仔細研究InfluxDB的配置文件,默認的配置是這樣的
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
wal-dir = "/var/lib/influxdb/wal"
[http]
# The bind address used by the HTTP service.
# bind-address = ":8086"
可以根據需要,靈活修改上面的這幾項配置,要確保目錄存在,確保指定的端口沒有被占用,使用下面的命令排查目前已經占用的端口
netstat -nltup
將目錄修改為/u01/influxdb
mkdir -p /u01/influxdb
chown influxdb:influxdb /u01/influxdb/
附1:安裝php報錯問題處理
如果php報不支持ldap提示,則操作如下:
Php編譯后支持ldap
cd php-7.4.5/ext/ldap
/usr/local/php/bin/phpize
cp -frp /usr/lib64/libldap* /usr/lib/
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini,取消掉如下行注釋:
extension=ldap.so
附2:Mysql數據庫配置
在mysql數據庫服務器端創建zabbix數據庫、數據庫賬戶及到導入zabbix sql語句,操作命令如下:
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'%' identified by 'Bqzabbix@2020';
grant all privileges on *.* to 'zabbix'@'%' with grant option;
flush privileges;
source schema.sql;
source images.sql;
source data.sql;
quit
附3:配置centos7.8系統yum源
mount -t auto /dev/cdrom /mnt/cdrom
************************************************************
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
************************************************************
yum makecache