O11y

oss o11y 最強セット 題名の通り。 o11yを実施するためのoss最強セットです。 構築していきたいと思います。 環境 hugo_server : Grafana, Gateway hugo_server -> jhonny : Openvpn tunneling jhonny : Prometheus, Opensearch, (maybe kafka?) 集めたいデータ GSLB周り GSLBのHCデータ GSLBのアクセスログ GSLB clusterの各ノードの状態 openvpn周り vpnserverのログ vpnserverのステータス 構築 Grafana apt install grafana-serverでインストール sudo systemctl enable grafana-serverでデーモン化 sudo vim /etc/grafana/grafana.ini でホストヘッダーを設定 sudo vim /etc/nginx/nginx.confでプロキシの設定 grafanaにアクセス。初期ユーザ、パスワード:admin,admin prometheus 公式からprometheusのbinary + 設定ファイルのtarをダウンロード ref 設定ファイルやbinaryを移動する /etc/prometheus/prometheus.yml、/var/lib/prometheus/data/、 ユニットファイルを作る(/lib/systemd/system/prometheus.service) [Unit] Description=Prometheus Server Wants=network-online.target After=network-online.target [Service] User=root Group=root ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus/data \ --web.listen-address=0.0.0.0:9090 Restart=always LimitNOFILE=65536 [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl start prometheus という感じですね。完璧ですー。 ...

February 23, 2025 · 3 min · 608 words · Me

Mtailなどを使い、nginxを完璧に監視する

やりたいこと k8s上にechoサーバを分散させる プロキシサーバ (nginx) を立てて、そいつらに負荷分散できるようにする Mtailを使って、nginxのログを収集して、prometheus形式に変換、telegrafで取得しinflux Dbに送信 (このときにタグもつけたいかも) Cloudproberでnginxを監視したい。cloudprober -> prometheusに変換 -> telegrafで取得しinflux DBに送信(タグもつけたいかもしれない) 以上を全てansibleを使って実現したいという話だよね。厳しいかな。どうかな?? 正直k8sは必須ではない。時間がかかりそうであれば、先にgoとかで簡単なecho-serverを作って1を完了させてしまうのも全然あり。 今回の目的はあくまでnginxのモニタリングをガチガチにするってことだからね。でも、k8sの監視はちょっとしてみたいかもしれないね。 最初からprometheus形式でexportしてくれるみたいだからね。気になるところではあります。 ただ、k8sはその性質上、コンテナをデプロイするから、どこからコンテナを取ってくるかを決める必要がありますね。外部に漏らしたくない情報が入っているのであればprivateリポジトリを立てるしかない。そうでなければdocker hubでいいかな。

October 18, 2024 · 1 min · 20 words · Me

Telegraf + InfluxDBでシステムモニタリング

参考文献 Telegraf grafana prometheus 最終成果物 influx_dbのダッシュボード 背景 業務でnginxの運用に携わっているのだが、nginxのrpsやレスポンスステータスごとの返却数など、どうやってモニタリングしているのか気になっていた。telegrafを使っていたのはわかったんだけど、実際にどうやってデータを取って、それをどうやってデータサーバで保存して、可視化をしていたのか、非常に気になっていたのです。それが今日解決しました。Telegraf、grafana、そして、prometheus,結構使えそうです。この記事では、メトリクスを可視化するためのツールを揃えていこうと思います。 Telegrafの概要 Telegraf is an agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data. 他にもTelegrafこういう感じのTelegrafの説明もあります。僕はこっちの方が好きだった Telegraf, a server-based agent, collects and sends metrics and events from databases, systems, and IoT sensors. Written in Go, Telegraf compiles into a single binary with no external dependencies–requiring very minimal memory. らしいですね。 collecting and writingなので、データをどこからか取ってきて、どこかに送るというわけです。そうです、inputとoutputを決められるわけですね。それも膨大な数のInputとoutputがあります。正直これは驚きました。こんなにあるんかとね。すごいです。ちょっと使えそうなinputとoutputを何個かpickupしておきたいと思います。 input Apache Input Plugin BIND 9 Nameserver Statistics Input Plugin Ceph Storage Input Plugin CGroup Input Plugin Conntrack Input Plugin CouchDB Input Plugin CPU Input Plugin Disk Input Plugin DNS Query Input Plugin Docker Input Plugin Kernel Input Plugin Kubernetes Input Plugin Lustre Input Plugin MySQL Input Plugin Nginx Input Plugin って感じで本当になんでもある。これはえぐい。 16. nvidia-smi 17. postgres 18. proxmox 19. prometheus ...

August 1, 2024 · 7 min · 1380 words · Me