summaryrefslogtreecommitdiff
path: root/munin-node/tasks/main.yml
blob: dde957283307bbd7f3368819e2ca0685de1f3b66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# SPDX-FileCopyrightText: 2026 Matthew Fennell <matthew@fennell.dev>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

---

- name: Ensure required packages are installed
  ansible.builtin.apt:
   name:
    - libdbi-perl  # Used by munin postgres plugins
    - munin-node  # Graphs and monitoring
   state: present
   update_cache: true
  become: true

- name: Ensure munin-node tcp ports are open
  community.general.ufw:
   rule: allow
   port: "{{ item }}"
   proto: tcp
   state: enabled
  loop:
   - 4949  # Munin
  become: true

- name: Ensure munin is configured
  ansible.builtin.template:
   src: munin-node.conf.j2
   dest: /etc/munin/munin-node.conf
   owner: root
   group: root
   mode: "0644"
  become: true
  notify: Restart munin-node

- name: Ensure munin plugins are configured
  ansible.builtin.file:
   src: "/usr/share/munin/plugins/{{ item.src }}"
   dest: "/etc/munin/plugins/{{ item.dest }}"
   owner: root
   group: root
   state: link
  become: true
  with_items:
   - src: apt_all
     dest: apt_all
   - src: cpu
     dest: cpu
   - src: df
     dest: df
   - src: df_abs
     dest: df_abs
   - src: df_inode
     dest: df_inode
   - src: diskstats
     dest: diskstats
   - src: entropy
     dest: entropy
   - src: forks
     dest: forks
   - src: fw_conntrack
     dest: fw_conntrack
   - src: fw_forwarded_local
     dest: fw_forwarded_local
   - src: fw_packets
     dest: fw_packets
   - src: if_
     dest: if_enp1s0
   - src: if_err_
     dest: if_err_enp1s0
   - src: irqstats
     dest: irqstats
   - src: load
     dest: load
   - src: memory
     dest: memory
   - src: netstat
     dest: netstat
   - src: open_files
     dest: open_files
   - src: open_inodes
     dest: open_inodes
   - src: postgres_autovacuum
     dest: postgres_autovacuum
   - src: postgres_bgwriter
     dest: postgres_bgwriter
   - src: postgres_cache_
     dest: postgres_cache_prosody
   - src: postgres_checkpoints
     dest: postgres_checkpoints
   - src: postgres_connections_
     dest: postgres_connections_prosody
   - src: postgres_connections_db
     dest: postgres_connections_db
   - src: postgres_locks_
     dest: postgres_locks_prosody
   - src: postgres_oldest_prepared_xact_
     dest: postgres_oldest_prepared_xact_prosody
   - src: postgres_prepared_xacts_
     dest: postgres_prepared_xacts_prosody
   - src: postgres_querylength_
     dest: postgres_querylength_prosody
   - src: postgres_scans_
     dest: postgres_scans_prosody
   - src: postgres_size_
     dest: postgres_size_prosody
   - src: postgres_streaming_
     dest: postgres_streaming_prosody
   - src: postgres_transactions_
     dest: postgres_transactions_prosody
   - src: postgres_tuples_
     dest: postgres_tuples_prosody
   - src: postgres_users
     dest: postgres_users
   - src: postgres_xlog
     dest: postgres_xlog
   - src: proc_pri
     dest: proc_pri
   - src: processes
     dest: processes
   - src: swap
     dest: swap
   - src: threads
     dest: threads
   - src: uptime
     dest: uptime
   - src: users
     dest: users
   - src: vmstat
     dest: vmstat
  notify: Restart munin-node