Logstash+Elasticsearch+Kibanaを触ってみる

Logstash+Elasticsearch+Kibana(ELK)を触ってみた。 はじめに:それぞれのツールについてふわっと理解 検索エンジンが〜とか、ログの整形が〜とかいう言葉を使うと猿にはわからないので、以下の言葉でふわっと理解。 Logstash:  ログを要素に分解するツール Elasticsearch: Logstashで分解したログの要素をフィルタリングするツール Kibana: Elasticsearchでフィルタリングした結果をグラフとか可視化するツール やってみる まずは、手を動かして、「ログをLogstashで取り込んで、Elasticsearchに送って、Kibanaで可視化」という流れをやってみる。 個人的にはLogstashのgrokプラグインの使い方が難しかった。 やりたいこと やりたいことは、以下のようなログから、数値とキーワードの集計をリアルタイムで実施し、以下のようなダッシュボードをKibanaで作ること。 環境づくり まずは、ELKの環境準備。Macに直接brewでインストールする。 https://logz.io/blog/elk-mac/を参考に構築。 ElasticsearchとKibanaを起動する 起動しているか確認 Kibanaの設定ファイル編集 /usr/local/etc/kibana/kibana.yml (多分人によってパス違う)の、以下二行のコメントアウト外しておく。 これでElasticSearchとKibanaは完了。 アクセスできるか確認する。 Elasticsearch: http://localhost:9200 Kibana: http://localhost:5601 Logstashについては後の手順にて起動します。 ログの用意 何か分析するログがなければいけないが、無いので、自分で作る。 実行。 こんな感じでログがでる。 Logstashの設定 先ほど出したログをLogstashで、Elasticsearchに送れる形に整形する。 logstashの設定ファイルを作る。今回はlogtest.confにするが、場所とファイル名は何でも良い。 結果としては以下の通り。 Logstashの設定ファイルは、以下のように、input、filter、outputの3セクションに分かれている。 inputについて pathで、どこにあるログを読み込むか指定。(絶対パスでの記載が必要) typeの名前は任意の名前、後のfilterセクションで使う。 filterについて ここでの肝は、grokプラグイン。ログの内容を後々Elasticsearchで分析するために要素に分類する。 今回は、「Feb 11 12:08:21 17 xxx」のようにログが出るので、 「タイムスタンプ(Feb 11 12:08:21) 数字(17) メッセージ(xxx)」の三要素に分類する。 それぞれの要素は、「%{形式: タグ}」という風に定義づける。 タグの名前は任意の名前。後でKibanaにプロットする時に使う。 形式については、自分でゴリゴリ書くこともできるが、あらかじめ用意された形式を使うのが楽。…

Confluenceで決まったPage Treeを作成するShell Script

Confluenceで、どうにか決まったページツリーを作成することを楽にできないか、という思いから無理くりShell Scriptを書いたメモ。 https://ja.atlassian.com/software/confluence ■ファイル構造 ■実行 ■ファイル中身 ★exefile.sh ★create_ancestor-page.sh ※この後子ページを作るにあたり、どうやって親ページのIDを入手しようかと思い、無理くり整形して、tenmp fileのansid.txtに吐き出し、変数$ANSIDに格納。 ★create_child1-page.sh bodyの中身をもっと複雑にして変数に置いたり、色々できると思います。 ■ページ情報拾うには、、、 本当は、あらかじめ用意していたテンプレページからページコンテンツ情報を取得して、適当な変数に格納し、body要素に入れる、ということをしたかったのですが、読み込みに時間がかかってしまったため、ベタ貼りにしました。 追々リベンジする。ということで、テンプレページから情報を拾うのは手動で。 ■References https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api-examples

ssh自動ログインスクリプト

最近、色々なサーバにsshする機会が増えたので、sshログインはshell script化しました。 ■ファイル構造 ■中身 ★auto_login.sh ※私はすでに鍵交換をしているので、Are you sure~のくだりはコメントアウトしております。 ※「send \”cd /opt/work/ ; ls\n\”」で、ログインした後、/opt/work/へ移動して、lsを叩くようにしています。 ★yoshiisland1.sh パスワードのベタ書きがイヤであれば対話形式でパスワードだけ入力させても良いかもです。