<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    最簡單有效的 zabbix 快速學習法

    VSole2022-02-11 07:30:47

    在公司搭建系統級別的監控,由于ELK對流量監控存在局限——現有的工具只記錄了累計的流量,而無法計算每時每刻的流量。所以決定最后用zabbix來對網絡做監控和報警,下面會從零開始記錄zabbix搭建過程中的所有步驟,希望可以給你帶來幫助。

    安裝前準備工作

    安裝必要的軟件,禁用SELINUX,安裝必備軟件

    $ sudo setenforce 0

    $ sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    $ sudo yum install epel-release.noarch wget vim gcc gcc-c++ lsof chrony tree nmap unzip rsync -y

    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

    LAMP環境搭建

    安裝

    $ sudo yum install -y httpd mariadb mariadb-server mariadb-client php php-mysql

    啟動mysql,設置開機啟動,修改mysql密碼,注意下面的yourpassword要替換為你自己的密碼

    $ sudo systemctl start mariadb.service

    $ sudo systemctl enable mariadb.service #設置開機啟動 

    $ sudo mysqladmin -u root -p password yourpassword

    安裝zabbix服務

    $ sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

    $ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

    $ sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent

    創建zabbix數據庫

    $ mysql -uroot -p

    MariaDB [(none)]> CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

    MariaDB [(none)]> quit

    導入數據

    $ cd /usr/share/doc/zabbix-server-mysql-3.0.11/

    $ zcat create.sql.gz | mysql -uroot -p zabbix

    修改zabbix配置

    注意:下面的yourpasswd請替換為你自己的數據庫密碼

    $ sudo vim /etc/zabbix/zabbix_server.conf

    DBHost=localhost

    DBName=zabbix

    DBUser=root

    DBPassword=yourpasswd

    修改時區

    sudo vim /etc/httpd/conf.d/zabbix.conf

    php_value date.timezone Asia/Chongqing

    修改zabbix登錄密碼(可選)

    -bash-4.2$ mysql -uroot -p

    Enter password:

    Welcome to the MariaDB monitor.  Commands end with ; or \g.

    Your MariaDB connection id is 326

    Server version: 5.5.56-MariaDB MariaDB Server

    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]> use zabbix

    Reading table information for completion of table and column names

    You can turn off this feature to get a quicker startup with -A

    Database changed

    MariaDB [zabbix]> select userid, aliasname, passwd from users;

    +--------+-------+--------+----------------------------------+

    | userid | alias | name   | passwd                           |

    +--------+-------+--------+----------------------------------+

    |      1 | Admin | Zabbix | 5fce1b3e34b520afeffb37ce08c7cd66 |

    |      2 | guest |        | d41d8cd98f00b204e9800998ecf8427e |

    +--------+-------+--------+----------------------------------+

    2 rows in set (0.00 sec)

    MariaDB [zabbix]> update users set passwd=md5('newpassword'where userid='1';

    Query OK, 1 row affected (0.00 sec)

    Rows matched: 1  Changed: 1  Warnings: 0

    啟動

    $ sudo systemctl start httpd

    $ sudo systemctl start zabbix-server

    $ sudo systemctl start zabbix-agent

    設置開機啟動

    $ sudo systemctl enable httpd

    $ sudo systemctl enable zabbix-server

    $ sudo systemctl enable zabbix-agent

    通過http://hostname/zabbix訪問zabbix的安裝頁面,填寫安裝信息,完成安裝。完成安裝后,初始登錄賬戶密碼為Admin/zabbix。

    安裝zabbix-agent

    zabbix-server安裝好了,下面需要“接入”其他機器,將它們納入到zabbix-server的管理,下面是安裝步驟

    $ sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

    $ sudo yum install -y zabbix-agent

    配置zabbix-agent

    $ grep -Ev "^$|#"  /etc/zabbix/zabbix_agentd.conf

    # zabbix-server

    Server=192.168.8.4

    # 這里選擇主動連接zabbix-server的方式

    ServerActive=192.168.8.4

    # 本機的hostname

    Hostname=192.168.8.5

    啟動zabbix-agent

    $ sudo systemctl start zabbix-agent.service

    $ sudo systemctl enable zabbix-agent.service

    下面在zabbix-server頁面上添加這個機器

    按下圖填寫即可

    接著綁定模板

    最后點擊Update,你就可以在Host目錄中看到所有被監控的機器列表


    注意:如果zabbix-agent需要被其他機器調用,例如通過zabbix_get獲得監控信息,需要在防火墻設置“放開10050端口”

    監控網絡流量

    假設我們要監控機器192.168.8.5網卡em1上的出入口流量,我們可以先在zabbix服務器上用zabbix_get命令來測試一下,下面代碼測試的是輸入流量,注意這里的輸出是一個累積的流量

    監控網絡流量的流程為:

    1、創建模板

    2、創建監控項

    創建應用:Configuration->Templates->Create application


    創建監控項:Configuration->Templates->network traffic on em1->Items->Create Item

    上圖是入口流量的監控項設置,出口流量監控項network traffic out em1可以一樣設置,成功后你看到的是

    3、創建Triggers

    Triggers是觸發報警的設置,同樣我們點擊Configuration->Templates->network traffic on em1->Triggers->Create trigger來創建Triggers

    注意在設置Expression時,我們可以利用zabbix提供給我們的模板

    于是,入口流量的觸發值就設置好了,每秒流量超過1048576時就會觸發報警,同理我們可以設置出口流量的觸發值,成功后,我們看到的是

    4、創建Graphs

    接著,我們再來創建Graphs,Graphs可以以圖形化的方式展示流量信息,點擊Configuration->Templates->network traffic on em1->Graphs->Create graph,創建Graphs的最大好處是我們可以把這些Graphs組合起來形成Screens監控面板,例如下面這樣

    下面是創建Graphs的表單

    5、綁定Template

    至此,我們模板就創建完畢了,最后一步需要把主機和模板關聯起來,點擊Configuration->Hosts->Templates->Select創建關聯,然后點擊Add

    此時,通過Monitoring->Latest data可以看到網卡上的最新數據,同時可以通過Monitoring->Graphs來查看圖形化的數據

    自定義script報警

    當系統出現異常時,我們需要立即發現,并通過郵件或App的方式通知給維護的同學,這樣整個系統才會掌控在我們手中,Zabbix要做到這一點,需要配置以下3個選項(zabbix雖然很強大,但配置和UI有點繁瑣,這是我不喜歡它的地方):

    1、Media types

    2、Events

    3、User Media

    Media types

    Media types是當產生事件時,以什么方式進行通知,這里采用的是Script方式,這種方式的靈活性最大,通過這種方式,我們可以把報警發送到任何支持Webhook的App上,例如釘釘

    Script這種方式的原理是:我們把可執行的腳本放在zabbix的指定目錄下,當事件發生時,zabbix會自動調用該腳本,可以在/etc/zabbix/zabbix_server.conf中找到指定目錄的路徑

    AlertScriptsPath=/usr/lib/zabbix/alertscripts

    Media types設置如下,意思是在/usr/lib/zabbix/alertscripts下存在一個腳本dingding.py,當事件發生時,zabbix會調用該腳本,同時會傳入該腳本3個參數,這3個參數分別是事件的接收人、事件的主題、事件的內容

    dingding.py這個腳本如下,我們先實現一個簡單的版本,也就是把這3個參數輸出到日志中

    #!/usr/bin/python

    import logging, sys

    if __name__ == "__main__":

        logger = logging.getLogger()

        handler = logging.FileHandler("/var/log/zabbix/dingding_alert.log")

        formatter = logging.Formatter('%(asctime)s %(name)-s %(levelname)-s %(message)s')

        handler.setFormatter(formatter)

        logger.addHandler(handler)

        logger.setLevel(logging.DEBUG)

        if len(sys.argv) == 4:

            send_to = sys.argv[1]

            subject = sys.argv[2]

            content = sys.argv[3]

            logger.debug("send_to: %s" % send_to)

            logger.debug("subject: %s" % subject)

            logger.debug("content: %s" % content)

        else:

            logger.error("usage: ./dingding.py $send_to $subject $content")

    設置腳本的權限

    $ sudo chown zabbix.zabbix dingding.py

    $ sudo chmod +x dingding.py

    Events

    事件是當某個條件發生時,zabbix所創建的報警對象。在zabbix中,事件發生時和事件恢復時都可以觸發事件,下面我們來創建一個事件,

    可以看到,這里的事件主題和事件消息都是系統默認生成的,其中包括時間產生時的必要信息,同時我把允許事件恢復時通知(Recovery message)打了勾,Conditions標簽頁的內容保持不變,然后我們再來修改Operations標簽里的內容

    這里的意思是:事件的持續時間是1個小時(3600s),每隔2分鐘(120s)產生一個事件,一共產生10個事件,產生事件時,發送給Zabbix administrators用戶組中的Admin用戶,最后事件會使用我們剛剛創建的dingding這種Media type

    User Meida

    事件和Media type創建好后,下面還需要把它們和指定用戶關聯起來,點擊Administration->Users->Media->Add,修改后,點擊Update

    通過以上步驟,我們已經把zabbix的監控和報警建立起來了,并實操創建了網卡的流量監控,現在我們把網絡流量的閾值調到小,故意制造一個超出流量的事故,看一下報警是否生效,我們預期是發送10個報警,發送完畢后,我們再把閾值調到正常,看下是否會收到恢復消息。還記得之前寫的那個腳本嗎,它會把報警內容輸出到日志文件中,現在我們檢查下日志文件

    zabbix郵件報警配置zabbix
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在公司搭建系統級別的監控,由于ELK對流量監控存在局限——現有的工具只記錄了累計的流量,而無法計算每時每刻的流量。所以決定最后用zabbix來對網絡做監控和報警,下面會從零開始記錄zabbix搭建過程中的所有步驟,希望可以給你帶來幫助。 安裝前準備工作 安裝必要的軟件,禁用SELINUX,安裝必備軟件
    在互聯網信息爆炸式快速發展的今天,各類復雜多樣的平臺系統相繼涌出。如何選擇最佳的監控產品以更好地維護這些平臺和系統是每個 IT 人員都需面臨的難題。本文將從開源監控產品的起源和發展,詳細解析各個時代熱門監控產品的優勢和劣勢,并結合各個監控產品的使用場景,幫你選擇出最適合自己的開源監控產品。因篇幅和時間原因,下面介紹的資料和理解可能和實際情況有所偏差,歡迎大家留言或者加入微信群批評指正。
    同時又在默認的系統環境下,通過pip安裝部署,大多數情況下,是不會出現問題。相關的依賴庫,在Python安裝之后,都是通過pip來安裝。但實際我們裝個python2.7版本的環境就基本滿足目前的需求。我們創建了一個叫做py27的虛擬環境。workonpy272.4 安裝Opencananrypip在安裝opencanary時,會自動安裝他所需求要的各種依賴,一般不出問題的話,一切都會順利安裝完成。
    常見端口滲透總結
    2022-01-16 22:32:17
    這樣,客戶端就能命令FTP服務器發一個文件給被攻擊的服務。基于Linux系統,配置方面很簡單。在nfs配置中,有不做任何限制的,有限制用戶,有限制IP,以及在版本2.x中我們還可以使用證書來驗證用戶。當然不同的限制可以采用的攻擊方式也不一樣;就目前而言網上關于nfs的攻擊還是比較少的!但是畢竟主流的攻擊方式仍舊是那些,比如注入,未授權等等;這些問題的出現也都是因為配置不當而造成的。
    大多數計算機系統設計為可與多個用戶一起使用。特權是指允許用戶執行的操作。普通特權包括查看和編輯文件或修改系統文件。特權升級意味著用戶獲得他們無權獲得的特權。這些特權可用于刪除文件,查看私人信息或安裝不需要的程序,例如病毒。
    一文吃透 Linux 提權
    2021-10-23 07:09:32
    特權升級意味著用戶獲得他們無權獲得的特權。通常,當系統存在允許繞過安全性的錯誤或對使用方法的設計假設存在缺陷時,通常會發生這種情況。結果是,具有比應用程序開發人員或系統管理員想要的特權更多的應用程序可以執行未經授權的操作。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类