基於 Zabbix 實現對日誌的收集、監控、報警、觸發腳本

基於 Zabbix 實現對日誌的收集、監控、報警、觸發腳本


簡介

zabbix 是一個基於 WEB 界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。

zabbix 能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

zabbix 由2部分構成,zabbix server 與可選組件 zabbix agent。

zabbix server 可以通過 SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在 Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X 等平臺上。

必要環境

這裏用 CentOS-7

數據庫,這裏使用 MySQL

webserver,這裏使用 nginx

時間

安裝 

rpm -ivh zip* unzip* htop* ntp* vim*

時間

Time

# 查看當前系統時間
date

# 查看當前時區
timedatectl status

# 修改時區(立即生效)
timedatectl set-timezone Asia/Shanghai

# 查看硬件時間
hwclock --show

# 同步系統時間和硬件時間(系統時間爲標準,重啓init6/reboot生效)
hwclock --hctosys
reboot

# 本地時間寫入硬件時間(立即生效)
timedatectl set-local-rtc 1

安裝、配置 ntp

# 安裝 ntp 服務
yum install ntp -y

# 啓動 ntp 服務
systemctl start ntpd

# 配置開機啓動 ntp
systemctl enable ntpd

# 查看狀態
systemctl status ntpd

轉移安裝包至軟件倉庫

find /var/cache/yum/ -type f -name "*.rpm"  | xargs cp -t /var/Repository/Repository_rpm

安裝 nginx

# 加入 nginx 源
yum install epel-release -y

# 安裝 nginx
yum install nginx -y
 
# 配置 nginx 開機啓動
systemctl enable nginx
 
# 啓動 nginx 服務
systemctl start nginx
 
# 查看 nginx 服務是否啓動成功
ps -ef | grep nginx

安裝 MySQL

# 安裝 yum repo 文件並更新 yum 緩存
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

# 配置禁用 mysql5.7 的倉庫,啓用 mysql8.0 的倉庫
yum install yum-utils -y
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql80-community

# 下載 MySQL-8 源
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
 
# 檢查是否正確啓用了倉庫
yum repolist enabled | grep mysql
 
# 安裝
yum install mysql-community-server
 
# 啓動 MySQL 服務
systemctl start mysqld
 
# 配置開機啓動
systemctl enable mysqld
 
# 查看 MySQL 密碼
grep 'temporary password' /var/log/mysqld.log
 
# 輸入密碼
mysql -uroot -p
 
# 修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'UUUUXXXX';
exit
 
# 啓動 MySQL 服務
systemctl restart mysqld
# 查看
show databases;
 
# 創建數據庫
create database mydatabase;
 
# 刪除數據庫
drop database mydatabase;
 
# 打開、使用數據庫
use mydatabase;
 
# 查看數據庫表結構
desc student;
 
# 查詢表中的記錄
select id,name,sex,degree from student;

 

# 創建初始數據庫

mysql -uroot -p

# 創建數據庫
create database zabbix character set utf8 collate utf8_bin;

# 給來自 loclhost 的用戶 zabbix 分配可對數據庫 zabbix 所有表進行所有操作的權限,並且設定密碼爲 password

# MySQl-5.7
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

# MySQl-8
create user 'zabbix'@'localhost' identified by 'password';
grant all privileges on zabbix.* to 'zabbix'@'localhost';

# 刷新
flush privileges;

quit;

# 收回某種權限的寫法是:
revoke select  on *.* from 'zabbix'@’localhost’;

配置防火牆

# 查看防火牆【服務】狀態
systemctl status firewalld
 
# 查看防火牆【運行】狀態
firewall-cmd --state
 
# 開啓
service firewalld start
 
# 重啓
service firewalld restart
 
# 臨時關閉
service firewalld stop

# 永久關閉
systemctl disable firewalld.service

# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
 
# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
 
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
 
# 查看防火牆的開放的端口
firewall-cmd --permanent --list-ports
 
# 重啓防火牆(修改配置後要重啓防火牆)
firewall-cmd --reload

配置 SELinux

# 臨時關閉 SELinux
setenforce 0
 
# 臨時打開 SELinux
setenforce 1
 
# 查看 SELinux 狀態
getenforce
 
# 開機關閉 SELinux
# 編輯 /etc/selinux/config 文件,將 SELinux 的值設置爲 disabled。

vi /etc/selinux/config

SELINUX=disabled

安裝 Zabbix 源

官網:https://repo.zabbix.com/

清華大學源:https://mirror.tuna.tsinghua.edu.cn/zabbix/

rpm -Uvh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

安裝 Zabbix server,Web 前端,agent

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent zabbix-get zabbix-web zabbix-web-mysql  zabbix-sender
========================================================================================================================================
 Package                               架構                     版本                                    源                         大小
========================================================================================================================================
正在安裝:
 zabbix-agent                          x86_64                   4.4.8-1.el7                             zabbix                    433 k
 zabbix-nginx-conf                     noarch                   4.4.8-1.el7                             zabbix                    230 k
 zabbix-server-mysql                   x86_64                   4.4.8-1.el7                             zabbix                    2.5 M
 zabbix-web-mysql                      noarch                   4.4.8-1.el7                             zabbix                     11 k
爲依賴而安裝:
 OpenIPMI                              x86_64                   2.0.27-1.el7                            base                      243 k
 OpenIPMI-libs                         x86_64                   2.0.27-1.el7                            base                      523 k
 OpenIPMI-modalias                     x86_64                   2.0.27-1.el7                            base                       16 k
 apr                                   x86_64                   1.4.8-5.el7                             base                      103 k
 apr-util                              x86_64                   1.5.2-6.el7                             base                       92 k
 fping                                 x86_64                   3.10-4.el7                              epel                       46 k
 httpd                                 x86_64                   2.4.6-93.el7.centos                     base                      2.7 M
 httpd-tools                           x86_64                   2.4.6-93.el7.centos                     base                       92 k
 libevent                              x86_64                   2.0.21-4.el7                            base                      214 k
 libzip                                x86_64                   0.10.1-8.el7                            base                       48 k
 mailcap                               noarch                   2.1.41-2.el7                            base                       31 k
 net-snmp-libs                         x86_64                   1:5.7.2-48.el7_8                        updates                   751 k
 php                                   x86_64                   5.4.16-48.el7                           base                      1.4 M
 php-bcmath                            x86_64                   5.4.16-48.el7                           base                       58 k
 php-cli                               x86_64                   5.4.16-48.el7                           base                      2.7 M
 php-common                            x86_64                   5.4.16-48.el7                           base                      565 k
 php-fpm                               x86_64                   5.4.16-48.el7                           base                      1.4 M
 php-gd                                x86_64                   5.4.16-48.el7                           base                      128 k
 php-ldap                              x86_64                   5.4.16-48.el7                           base                       53 k
 php-mbstring                          x86_64                   5.4.16-48.el7                           base                      506 k
 php-mysql                             x86_64                   5.4.16-48.el7                           base                      102 k
 php-pdo                               x86_64                   5.4.16-48.el7                           base                       99 k
 php-xml                               x86_64                   5.4.16-48.el7                           base                      126 k
 t1lib                                 x86_64                   5.1.2-14.el7                            base                      166 k
 unixODBC                              x86_64                   2.3.1-14.el7                            base                      413 k
 zabbix-web                            noarch                   4.4.8-1.el7                             zabbix                    2.9 M

配置數據庫

# 導入初始架構和數據,系統將提示您輸入新創建的密碼

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix

配置

Zabbix 後端

# 爲 Zabbix server 配置數據庫

vim /etc/zabbix/zabbix_server.conf

DBPassword=password

# 爲 Zabbix 前端配置 PHP

# 1

vim /etc/nginx/conf.d/zabbix.conf

# listen 80;
# server_name example.com;

# 2

vim /etc/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai

# 3

vim /etc/php.ini

878

date.timezone = Asia/Shanghai

啓動 Zabbix server 和 agent 進程

systemctl restart zabbix-server zabbix-agent nginx php-fpm

systemctl enable zabbix-server zabbix-agent nginx php-fpm
journalctl -xe

 

#
# 錯誤
#
Cannot connect to the database.
Error connecting to database: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
#
#
#

# 修改加密規則  
ALTER USER zabbix@localhost IDENTIFIED WITH mysql_native_password BY 'password';

# 刷新
flush privileges;

配置 Zabbix 前端
瀏覽器

賬號:Admin
密碼:zabbix

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章