監視ツール「Grafana Cloud」の設定記録【追記有】
ネットで情報を漁ってみると「Grafana」そのものについては
情報がいくつか出てくるんだけど、
Grafanaをホスティングしてくれてる「Grafana Cloud」
の情報は少なかったので設定した記録をここに記す。
今回の目的
ローカルネットワークにあるサーバーのCPU負荷などを
スマホや出先でのノートパソコンで見たい。
前提環境
環境
ローカルのサーバー:Ubuntu 22.04.1 LTS
監視ツール:Grafana Cloud
エージェント:grafana-agent
導入の流れ
1.Grafana Cloudに登録する。
2.Linux Server に接続する
あとは基本的に手順に従うだけ。
書いてある手順をわかりやすくすると、
・grafana-agentのインストールをする
・設定ファイル、デフォルトだと/etc/grafana-agent.yaml に指定の文言を入れる
integrations:の下に以下を入れる ※hostnameは適宜変更(変更用の入力欄はちゃんと用意されてる)
node_exporter:
enabled: true
# disable unused collectors
disable_collectors:
- ipvs #high cardinality on kubelet
- btrfs
- infiniband
- xfs
- zfs
# exclude dynamic interfaces
netclass_ignored_devices: "^(veth.*|cali.*|[a-f0-9]{15})$"
netdev_device_exclude: "^(veth.*|cali.*|[a-f0-9]{15})$"
# disable tmpfs
filesystem_fs_types_exclude: "^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|tmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
# drop extensive scrape statistics
metric_relabel_configs:
- action: drop
regex: node_scrape_collector_.+
source_labels: [__name__]
relabel_configs:
- replacement: hostname
target_label: instance
logs:
configs:
scrape:
configs:
の下に
- job_name: integrations/node_exporter_journal_scrape
journal:
max_age: 24h
labels:
instance: hostname
job: integrations/node_exporter
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
- source_labels: ['__journal__boot_id']
target_label: 'boot_id'
- source_labels: ['__journal__transport']
target_label: 'transport'
- source_labels: ['__journal_priority_keyword']
target_label: 'level'
- job_name: integrations/node_exporter_direct_scrape
static_configs:
- targets:
- localhost
labels:
instance: hostname
__path__: /var/log/{syslog,messages,*.log}
job: integrations/node_exporter
を入れる。
このjob設定がないと詳細がremote writeされないから大事
※結構タブ幅間違えやすかったりするので注意
Yamlなんで意外とズレたりするんだよね。
このintegrasionの設定さえ入れればダッシュボードで状態が確認できるはず。
以上です。
あとがき
基本的にgrafana-agentさえ無事に入れば設定できることがわかった。
家にあるRaspberryPiの状態もこれで外から見れるので、
RaspberryPiの設定もしておこうと思う。
でも今のところgrafana-agentのインストールがアーキテクチャの問題でうまくいかないみたいだから苦戦しそうな今日このごろ。
追記分
Windowsの設定
- job_name: integrations/windows-exporter-application
windows_events:
use_incoming_timestamp: true
bookmark_path: "./bookmark-application.xml"
eventlog_name: "Application"
xpath_query: '*'
labels:
job: integrations/windows_exporter
relabel_configs:
- source_labels: ['computer']
target_label: 'agent_hostname'
pipeline_stages:
- json:
expressions:
source: source
- labels:
source:
- job_name: integrations/windows-exporter-system
windows_events:
use_incoming_timestamp: true
bookmark_path: "./bookmark-system.xml"
eventlog_name: "System"
xpath_query: '*'
labels:
job: integrations/windows_exporter
relabel_configs:
- source_labels: ['computer']
target_label: 'agent_hostname'
pipeline_stages:
- json:
expressions:
source: source
- labels:
source:
bookmark_path: C:\Users\user\AppData\Roaming\bookmark-application.xml
というようにダブルクオーテーションを外すか、
ps1ファイルの
if ($line -ne $null) {
$content = Get-Content $config_file
$line | ForEach-Object {
if ($_ -notmatch [Regex]::Escape($env:APPDATA)) {
$split_line = $_ -split ": "
$prefix = $split_line[0]
$bookmark_filename = $split_line[1] -replace "./",""
$content = $content -replace $_,"$($prefix): $($env:APPDATA)\$($bookmark_filename)"
}
}
$content | Set-Content $config_file
}
らへんを編集して(多分$bookmark_filename = $split_line[1] -replace "./","")あたり
調整しないといけない
最後までお読みいただき、ありがとうございます。 今後もたくさんの方に読んでいただけるよう精進します。 活動継続にあたりサポートをいただけると、 私のモチベーション維持やクオリティ向上に繋がります。 頂いたサポートはクリエイターとしての活動費にさせて頂きます。 ぜひお願い致します。