New Relic初心者 logs parsingについて
0.はじめに
newrelic infrastructure agentを利用し、ログをnewrelicへ転送することが可能。
あらゆるログデータをnewrelicへ転送することで、インフラ系のデータもアプリケーション系のデータも可視化することができる。
今回はapacheのアクセスログをnewrelicへ転送し、log parsingの機能を利用して必要なデータを切り出す。
1.infrastructure agentをインストール
infrastucture agent が version 1.11.14以上であることを確認する
rpm -qa | grep newrelic
newrelic-infra-1.12.3-1.el8.x86_64
2.ログ転送
定義ファイル格納用ディレクトリ
ログ転送の定義ファイルが格納されているディレクトリへ移動
cd /etc/newrelic-infra/logging.d/
configuration fileを作成
configuration fileを作成し、上記ディレクトリ配下に配置。
ログ識別ができるよう、カスタム属性を付加しておく。
logs:
- name: "apache"
file: /var/log/httpd/access_log
attributes:
log_type: apache
ログ更新
以下、クーロンにより定期的にapacheへアクセスしアクセスログを更新
#access apache
*/2 * * * * devops curl "http://192.168.11.18:80"
ダッシュボード確認
3.logs parsing
parsingルールの作成
Manage parsing rules
parsing を実施するログの絞り込みを実施。
今回は転送したapacheのアクセスに、カスタム属性log_type:apacheを付与しているため、この値を利用。
Parsing logic
parsing logicはgrok patternで表現される。
例えば、apacheは以下の通り
Log formats
SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)
COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}
結果
結果は以下の通り。
message領域のアクセスログに対してparsing logicが適用されている。
4.まとめ
今回は、apacheのアクセスログを利用したnewrelic logsのparsing機能を実装した。
grok patternの検証をすべく、他フォーマットのログに対しても適用を試みる。
Author And Source
この問題について(New Relic初心者 logs parsingについて), 我々は、より多くの情報をここで見つけました https://qiita.com/say8/items/3bb71e25db9ea681a8f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .