簡単な紹介
客室内にサーバーやネットワーク機器の増加、ログ管理、およびクエリシステム管理者に頭痛の種となっています。
次のようにシステム管理者が直面する一般的な問題:
- 定期的なメンテナンスは、ログを表示するには、各サーバや機器を最大にログインすることはできません。
- ネットワーク機器上の限られた収納スペースには、日付が長すぎるのログを保存することができず、システムの問題は長い時間前に場所を取るのためにいくつかの操作があるかもしれません。
- いくつかのトレスパス場合、侵入者は通常、ローカルログ、侵入の明確な兆候をクリアします。
- ZABBIXや他の監視システムは、このようなプロジェクトの監視システムとして、ログ管理を置き換えることはできません、スケジュールされたタスクの実行をログオンできません。
これらの理由から、のRsyslogは、現在のネットワーク環境でのログの集中管理のためのログサーバを構築し、それは非常に必要です。
次のように利点のRsyslogサービスは以下のとおりです。
- rsyslogのサーバーは、主にリモートサービスをログに記録されているシステムのネットワーク機器の設定オプションでは、ほとんどのネットワークデバイス、デバイスオプションをサポートすることができます。単にIPアドレスとポートを記入(ほとんどのデバイスは、デフォルトは514である持っている)、および、それに決定。
- Linuxサーバは、ログサーバ、構成するためにログを送信し、非常に単純な、それを展開することができ、単一の行にローカルのRsyslogサービス構成に追加する必要があります。
展開アーキテクチャ
展開アーキテクチャ
rsyslogの設定
系统环境及软件版本:
CentOS Linux release 7.5.1804 (Core)
Elasticserch-6.8.4
Kibana-6.8.4
Logstash-6.8.4
Filebeat-6.8.4
Rsyslog-8.24.0
無効に設定SELINUX
# setenforce 0
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
ファイアウォールの設定
firewall-cmd --add-service=syslog --permanent
firewall-cmd --reload
ソフトウェアがインストールされているかどうかを確認してくださいrsyslogの
#CentOS7は、デフォルトではインストールさrsyslogの
[root@ZABBIX-Server ~]# rpm -qa |grep rsyslog
rsyslog-8.24.0-16.el7.x86_64
rsyslogの設定ファイルの編集
次のようにvimのある/etc/rsyslog.conf#変更はなかったです
[root@ZABBIX-Server mnt]# egrep -v "*#|^$" /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none;local6.none;local5.none;local4.none /var/log/messages
$template h3c,"/mnt/h3c/%FROMHOST-IP%.log"
local6.* ?h3c
$template huawei,"/mnt/huawei/%FROMHOST-IP%.log"
local5.* ?huawei
$template cisco,"/mnt/cisco/%FROMHOST-IP%.log"
local4.* ?cisco
$ModLoad imudp # immark是模块名,支持tcp协议
$ModLoad imudp # imupd是模块名,支持udp协议
$InputTCPServerRun 514
$UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志
注意:
*.info;mail.none;authpriv.none;cron.none;local6.none;local5.none;local4.none /var/log/messages
默认没有添加local6.none;local5.none;local4.none 命令,网络日志在写入对应的文件的同时会写入/var/log/messages 中
rsyslogのサービスをチェックしてください
再起動rsyslogのサービス
systemctl restart rsyslog.service
ログストアディレクトリ
次のようにネットワーク機器のログsyslogサーバへのポイントは、異なるメーカーの異なるデバイスへのこだわりは、ローカル対応、対応は次のとおりです。
/mnt/huawei --- local6
/mnt/h3c --- local5
/mnt/cisco --- local4
ネットワークデバイスの設定
Huawei:
info-center loghost source Vlanif99
info-center loghost 192.168.99.50 facility local5
H3C:
info-center loghost source Vlan-interface99
info-center loghost 192.168.99.50 facility local6
CISCO:
(config)#logging on
(config)#logging 192.168.99.50
(config)#logging facility local4
(config)#logging source-interface e0
Ruijie:
logging buffered warnings
logging source interface VLAN 99
logging facility local6
logging server 192.168.99.50
注:192.168.99.50 rsyslogのサーバーのIPへ
設定ファイルを編集しfilebeat
logstashにrsyslogの下に収集したログファイル
[root@ZABBIX-Server mnt]# egrep -v "^#|^$" /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /mnt/huawei/*
tags: ["huawei"]
include_lines: ['Failed','failed','error','ERROR','\bDOWN\b','\bdown\b','\bUP\b','\bup\b']
drop_fields:
fields: ["beat","input_type","source","offset","prospector"]
- type: log
paths:
- /mnt/h3c/*
tags: ["h3c"]
include_lines: ['Failed','failed','error','ERROR','\bDOWN\b','\bdown\b','\bUP\b','\bup\b']
drop_fields:
fields: ["beat","input_type","source","offset","prospector"]
setup.template.settings:
index.number_of_shards: 3
output.logstash:
hosts: ["192.168.99.185:5044"]
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
設定ファイルを編集しlogstash
異なるタグ各処理に従って送信、ログデータ記憶処理が送信ESで終了するのFilebeatログ、さらに視覚表示kibanaに
[root@elk-node1 ~]# egrep -v "^#|^$" /etc/logstash/conf.d/networklog.conf
input {
beats {
port => 5044
}
}
filter {
if "huawei" in [tags] {
grok{
match => {"message" => "%{SYSLOGTIMESTAMP:time} %{DATA:hostname} %{GREEDYDATA:info}"}
}
}
else if "h3c" in [tags] {
grok{
match => {"message" => "%{SYSLOGTIMESTAMP:time} %{YEAR:year} %{DATA:hostname} %{GREEDYDATA:info}"}
}
}
mutate {
remove_field => ["message","time","year","offset","tags","path","host","@version","[log]","[prospector]","[beat]","[input][type]","[source]"]
}
}
output{
stdout {codec => rubydebug}
elasticsearch {
index => "networklogs-%{+YYYY.MM.dd}"
hosts => ["192.168.99.185:9200"]
sniffing => false
}
}
kibana上で視覚的な設定を行います
屈折率整合パターン記憶ネットワーク機器のログインデックスを作成します。
データテーブルを作成します
kibanaデータテーブルはCSVファイルとしてエクスポートすることができます
円グラフを作成します。
個々の公衆番号へようこそ注意「マスターの陳の無い話。」