zabbix4.4.4源碼編譯安裝


zabbix4.4.4 源碼編譯安裝

mysql 8.0.17 二進制包安裝

php72 yum源安裝

nginx 1.16.1 yum源安裝

0.基礎環境

zabbix_server 172.16.1.71
zabbix_agent 172.16.1.51

1.安裝MySQL 8.0.17

(1)安裝依賴包
yum install bison-devel ncurses-devel libaio-devel
(2)下載二進制包
wget -c https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
(3)解壓並移動至安裝目錄
tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.17-linux-glibc2.12-x86_64 /usr/local/mysql
(4)創建數據庫初始化目錄和mysql用戶,並給MySQL根目錄授權
mkdir /usr/local/mysql/data
useradd -s /sbin/login -M mysql
chown mysql.mysql /usr/local/mysql -R
(5)軟連接mysql庫文件至系統庫
ln -s /usr/local/mysql/lib/* /usr/lib/
sudo ldconfig
(6)編輯MySQL配置文件
echo '
[mysqld]
port=3306
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/mysql-err.log
user=mysql
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/data/mysql.sock

[client]
socket=/usr/local/mysql/data/mysql.sock

[mysql]
socket=/usr/local/mysql/data/mysql.sock
' > /etc/my.cnf
(7)初始化數據庫,不安全的初始化,可以不用生成初始化密碼
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
(8)將MySQL數據庫初始化庫目錄軟連接至系統庫默認目錄
ln -s /usr/local/mysql/data  /var/lib/mysql
(7)修改環境變量
echo '
export PATH=/usr/local/mysql/bin:$PATH
' >> /etc/profile

source /etc/profile
(8)創建啟動文件
echo '
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
' > /usr/lib/systemd/system/mysqld.service
(9)啟動服務並加入開機自啟動
systemctl daemon-reload
systemctl start mysqld
systemctl enable mysqld
(10)創建zabbix庫
# MySQL8.0后版本,創建用戶並授權命令和MySQL5.7之前的版本有所不同,需要先創建用戶再授權;
create database zabbix character set=utf8;

create user 'zabbix'@'localhost' identified by '123456';

grant all privileges on zabbix.* to 'zabbix'@'localhost' with grant option;

flush privileges;  

2.安裝php7.2

(1)安裝源
yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
(2)安裝php和php依賴庫文件
yum -y install php72w \
php72w-cli \
php72w-fpm \
php72w-common \
php72w-devel \
php72w-embedded \
php72w-gd \
php72w-mbstring \
php72w-opcache \
php72w-pdo  \
php72w-xml  \
php72w-mysqlnd  \
php72w-pecl-memcached \
php72w-pecl-mongodb   \
php72w-pecl-redis     \
php72w-pecl-zip       \
php72w-bcmath \
php72w-ladp \
php72w-mysqli
(3)修改php配置文件
sed -i '/post_max_size/s/8/16/g' /etc/php.ini
sed -i '/max_execution_time/s/30/300/g' /etc/php.ini
sed -i '/max_input_time/s/60/300/g' /etc/php.ini
sed -i '/date.timezone/a date.timezone=PRC' /etc/php.ini
# 指定MySQL的sock文件,經過測試必須是系統默認庫文件目錄才可以;所以安裝MySQL時做了軟連接
sed -i '/mysqli.default_socket/cmysqli.default_socket = /var/lib/mysql/mysql.sock' /etc/php.ini

sed -i '/always_populate_raw_post_data/a always_populate_raw_post_data=-1' /etc/php.ini
(4)啟動服務,加入開機自啟
systemctl start php-fpm
systemctl enable php-fpm

3.安裝Nginx/1.16.1

(1)配置yum源
echo '
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
' > /etc/yum.repos.d/nginx.repo
(2)安裝並修改啟動用戶
yum -y install nginx

# php的默認啟動用戶apache,經過測試nginx最好也使用apache用戶,所以在此處修改
sed -i '/user nginx/cuser apache' /etc/nginx/nginx.conf
(3)創建zabbix虛擬主機配置文件
echo 'server {
        listen 80;
        server_name localhost;
        root /usr/share/nginx/html;
        location / {
             index   index.php setup.php;
        }
        location ~ \.php    {
             fastcgi_pass    127.0.0.1:9000;
             fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
             include         fastcgi_params;
        }
} ' > /etc/nginx/conf.d/zabbix.conf
(4)啟動nginx並加入開機自啟
systemctl start nginx
systemctl enable nginx

4.源碼安裝zabbix4.4.4服務端

(1)安裝依賴
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI libven-devel
(2)下載源碼
cd /root
wget -c https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
(3)解壓並預編譯安裝
tar -xzvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config  --with-net-snmp --with-libcurl
make && make install
(4)軟連接zabbix啟動文件至系統默認啟動文件目錄
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
(5)拷貝zabbix服務端環境文件至系統默認目錄
cp /root/zabbix-4.4.4/misc/init.d/gentoo/zabbix-server /etc/sysconfig/
(6)拷貝zabbix的前端源碼至nginx站點目錄,並授權
\cp -r /root/zabbix-4.4.4/frontends/php/* /usr/share/nginx/html/
chown apache.apache /usr/share/nginx/html -R
(7)將zabbix數據庫文件導入數據庫
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/schema.sql 
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/images.sql 
mysql -uzabbix -p123456 zabbix < /root/zabbix-4.4.4/database/mysql/data.sql 
(8)配置zabbix服務端配置文件
echo '
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
' > /usr/local/zabbix/etc/zabbix_server.conf
(9)創建zabbix服務端啟動文件
echo '
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service

[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/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/zabbix.service
(10)創建啟動用戶,啟動服務並加入開機自啟動
useradd -M -s /sbin/nologin zabbix
systemctl daemon-reload
systemctl start zabbix.service
systemctl enable zabbix.service

5.源碼安裝zabbix4.4.4客戶端

(1)安裝依賴
yum -y install epel-release pcre-devel
(2)下載源碼包
cd /root
wget -c https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz
(3)解壓編譯並安裝
tar -xzvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure  --prefix=/usr/local/zabbix  --enable-agent
make
make install
(4)軟連接zabbix客戶端啟動文件至系統默認啟動目錄
ln  -s  /usr/local/zabbix/sbin/zabbix_*  /usr/sbin/
(5)拷貝zabbix客戶端環境文件至系統默認目錄
cp /root/zabbix-4.4.4/misc/init.d/debian/zabbix-agent /etc/sysconfig/
(6)編輯zabbix客戶端配置文件
echo '
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=0
Server=172.16.1.71
ServerActive=172.16.1.71
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
' >  /usr/local/zabbix/etc/zabbix_agentd.conf
(7)創建zabbix客戶端啟動文件
echo '
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/zabbix_agnet.service
(8)創建啟動用戶,啟動服務並加入開機自啟動
useradd -M -s /sbin/nologin zabbix
systemctl daemon-reload
systemctl start zabbix_agent.service
systemctl enable zabbix_agent.service


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM