1. 程式人生 > >graylog 2.3.2 日誌系統安裝指南

graylog 2.3.2 日誌系統安裝指南

graylog cnop

  • Java (>= 8)

  • MongoDB 3.2

  • Elasticsearch 2.X

  • graylog 2.3.2

  • IP 192.168.0.210

  • centos 7.x

  • IP 192.168.0.210 (單機測試)

  • 結構:mongodb + elasticsearch + graylog + nxlog + collector_sidecar

    mongodb:存儲元數據,一般安裝好後不用其他設置

    elasticsearch:存儲日誌

    graylog:web界面,負責接收用戶輸入數據,展示elasticsearch裏的數據

    nxlog ,collector_sidecar:日誌收集,傳送

    jdk請自行安裝,這裏不再說明,可在下面地址下載相關版本:

    http://mirror.cnop.net/jdk/

    1.安裝mongodb(這裏以3.2為例)

    vim /etc/yum.repos.d/mongodb-org-3.2.repo #添加yum源

    [mongodb-org-3.2]

    name=MongoDB Repository

    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

    gpgcheck=1

    enabled=1

    gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

    yum -y install mongodb

    添加系統服務及啟動

    chkconfig --add mongod

    systemctl daemon-reload

    /sbin/chkconfig mongod on

    systemctl start mongod.service

    註意:這裏沒有進行mongodb的相關配置包括graylog連接

    的配置,graylog啟動時會自行創建相關數據

    2.elasticsearch安裝

    rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

    vim /etc/yum.repos.d/elasticsearch.repo #加入以下

    [elasticsearch-2.x]

    name=Elasticsearch repository for 2.x packages

    baseurl=https://packages.elastic.co/elasticsearch/2.x/centos

    gpgcheck=1

    gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch

    enabled=1

    yum install -y elasticsearch

    vim /etc/elasticsearch/elasticsearch.yml
    #修改成自己的信息,切記去除註釋後的內容前面不要有空格,不然可能會啟動失敗


    cluster.name: graylog
    # elasticsearch集群名稱,若有多個集群,可根據此屬性區分。

    node.name: node-210 #集群節點名稱,elasticsearch啟動時會自動創建,也可手動配置

    network.host: 192.168.0.210 #設置綁定的ip地址

    http.port: 9200 #設置對外服務的Http端口,默認是9200

    discovery.zen.ping.unicast.hosts: ["192.168.0.210"]
    #設置集群中master集群初始化列表,這個數組裏的機器將被自動發現加入集群,多個用逗號隔開

    添加至系統服務及啟動:

    chkconfig --add elasticsearch

    systemctl daemon-reload

    systemctl enable elasticsearch.service

    systemctl restart elasticsearch.service

    3.graylog安裝(web界面)

    $ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
    #獲取最新版本

    $ sudo yum install -y graylog-server pwgen
    #安裝最新版本,pwgen用於密碼加密生成

    配置

    vi /etc/graylog/server/server.conf
    #配置graylog,修改以下幾個地方,其他地方保持默認,也可根據實際情況進行設置

    password_secret =ZOauN2D9OknUXUDJbj4Lebb9zPB0SYfgcLELyo7r3yJK5r6Ep6CFfLco4hPy0tc3QEgYIDUP2RZcXdlCpZm43PvuIIyFuWPS

    # 對密碼進行加鹽處理(就是密碼加鹽也就是密碼後面加上很長的一串字符串再進行加密),如 md5(md5(password)+salt)和SHA512(SHA512(password)+salt) 方式這裏使用pwgen隨機生成密碼:pwgen -N 1 -s 96

    root_username = admin #登陸web界面用戶名,這裏去除前面註釋

    root_password_sha2 =8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
    #設置登陸web密碼,使用 sha256sum進行加密,可使用 echo -n 123456 | sha256sum 命令在系統中生成,這裏以123456為例說明。

    技術分享圖片

    root_timezone = +08:00 #設置時區

    rest_listen_uri = http://192.168.0.210:9000/api/ #地址更改成自己的ip,這裏以192.168.0.210為例,用於接受Graylog Collector Sidecar發送的心跳信息,collectors也可以訪問次uri

    rest_transport_uri = http://192.168.0.210:9000/api/

    web_listen_uri = http://192.168.0.210:9000/ # graylog-web訪問地址

    elasticsearch_hosts = http://192.168.0.210:9200 #elasticsearch地址,用於接入elasticsearch引擎

    allow_highlighting = true #(運行查詢結果高亮) elasticsearch_shards = 1 (當前只安裝了一個elasticsearch)

    elasticsearch_cluster_name = graylog #必須與elasticsearch設置相同

    mongodb_uri = mongodb://localhost/graylog # MongoDB服務器身份驗證,使用默認即可,這裏不需要像mysql一樣導入表,只存儲原數據

    $ sudo systemctl start graylog-server

    $ sudo systemctl enable graylog-server

    添加防火墻:

    firewall-cmd --zone=public --add-port=9000/tcp --permanent

    systemctl restart firewalld.service

    4.Collector端與nxlog的部署

    nxlog:

    yum -y install libdbi #要求為 libdbi >= 0.8.1

    wget http://mirror.cnop.net/nxlog/linux/nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

    rpm -ivh nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

    gpasswd -a nxlog root

    chown -R nxlog.nxlog /var/spool/collector-sidecar/nxlog

    vim /etc/nxlog.conf #註意,本處定義log文件nxlog必須有讀權限,不然後面可能查詢不到日誌信息

    ########################################

    # Modules #

    ########################################

    <Extension gelf>

    Module xm_gelf

    </Extension>

    <Input in>

    Module im_file

    File "/var/log/messages"

    </Input>

    <Output out>

    Module om_udp

    Host 192.168.0.210

    Port 12201

    OutputType GELF

    </Output>

    ########################################

    # Routes #

    ########################################

    <Route r>

    Path in => out

    </Route>


    以上代碼這裏截個圖,以防顯示不全:
    技術分享圖片

    systemctl restart nxlog

    Collector :Graylog Collector Sidecar是一種用於采集日誌的輕量級配置管理系統,也稱為後端,作為守護進程運行。

    wget http://mirror.cnop.net/Graylog/collector-sidecar/collector-sidecar-0.1.4-1.x86_64.rpm

    或去官方下載最新:

    https://github.com/Graylog2/collector-sidecar/releases

    $ sudo rpm -ivh collector-sidecar-0.1.4-1.x86_64.rpm

    $ sudo graylog-collector-sidecar -service install $ sudo systemctl start collector-sidecar

    vim /etc/graylog/collector-sidecar/collector_sidecar.yml #根據情況修改

    server_url: http://192.168.0.210:9000/api/

    update_interval: 10

    tls_skip_verify: false

    send_status: true

    list_log_files:

    node_id: graylog-collector-sidecar #多臺機器請修改成不同id

    collector_id: file:/etc/graylog/collector-sidecar/collector-id

    cache_path: /var/cache/graylog/collector-sidecar

    log_path: /var/log/graylog/collector-sidecar

    log_rotation_time: 86400

    log_max_age: 604800

    tags:

    - nginx

    backends:

    - name: nxlog

    enabled: true

    binary_path: /usr/bin/nxlog

    configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf

    systemctl restart collector-sidecar

    systemctl enable collector-sidecar

    systemctl restart nxlog

    /sbin/chkconfig nxlog on

    參考:http://docs.graylog.org/en/2.3/pages/collector_sidecar.html

    5.web訪問:

    http://192.168.0.210:9000

    技術分享圖片

    技術分享圖片

    點擊 System ->Collectors

    技術分享圖片

    技術分享圖片

    點擊 Create configuration

    技術分享圖片

    技術分享圖片


    這裏任意輸入一個名稱,這裏以test為例:

    技術分享圖片

    技術分享圖片

    點擊名稱"test",進入配置界面:

    技術分享圖片

    技術分享圖片


    設置output和input相關信息,與nxlog的配置文件相同:

    技術分享圖片

    技術分享圖片


    點擊右側 Create Output ,選擇相關Type和名字,ip,端口等信息,

    技術分享圖片

    技術分享圖片

    點擊右側 Create Input:

    Type [NXLog] file input

    Path to Logfile /var/log/messages

    技術分享圖片

    技術分享圖片

    重啟客戶端的collector-sidecar:

    systemctl restart collector-sidecar

    設置web接收日誌:

    system->inputs->Launch new input

    技術分享圖片

    技術分享圖片

    選擇主機節點

    設置標題

    設置ip

    設置端口(默認)

    技術分享圖片

    技術分享圖片


    graylog web查看Collectors 是否運行正常:

    http://192.168.0.210:9000/system/collectors

    技術分享圖片

    技術分享圖片

    可手動 echo 推送一條數據到被監控的日誌文件中,最後回到主界面查看日誌:

    技術分享圖片

    技術分享圖片

    其他常見:

    nxlog日誌查看:

    tail -f /var/log/graylog/collector-sidecar/nxlog.log

    錯誤::

    技術分享圖片

    技術分享圖片

    原因,請確定 elasticsearch 是否起來。


    經上牽扯到代碼部分本網頁可能部分不能完全顯示,請參考附件:

    http://www.cnop.net/uploadfile/2017/1129/20171129044810559.pdf
    http://www.cnop.net/uploadfile/2017/1129/20171129050325594.docx

    參考:

    http://docs.graylog.org/en/2.3/

    http://cocojoey.lofter.com/post/1eff2f40_10a6d448

    https://www.cnblogs.com/wsl222000/p/6041835.html



    轉載請註明出處:

    http://www.cnop.net/html/2017/graylog_1129/5005.html

    graylog 2.3.2 日誌系統安裝指南