Jump to content
Калькуляторы

Кто нибудь пользуется Munin для мониторинга? есть вопросы по графику

Давно уже мониторю с помощью этого замечательного средства серверы. Но тут обратил внимание на странный график:

cpu-day.png

При этом в это же время:

# top
top - 22:15:35 up 356 days, 21:38,  2 users,  load average: 0.19, 0.16, 0.12
Tasks: 204 total,   2 running, 202 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 95.7%id,  0.0%wa,  0.0%hi,  4.2%si,  0.0%st
Mem:  16439252k total,  1863168k used, 14576084k free,   194908k buffers
Swap:  8388604k total,        0k used,  8388604k free,   801544k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  13 root      20   0     0    0    0 S  1.0  0.0 988:38.62 ksoftirqd/1
  18 root      20   0     0    0    0 S  1.0  0.0 982:57.70 ksoftirqd/2
  33 root      20   0     0    0    0 S  1.0  0.0 966:14.01 ksoftirqd/5
   3 root      20   0     0    0    0 S  0.7  0.0 983:30.89 ksoftirqd/0
  23 root      20   0     0    0    0 R  0.7  0.0 981:26.97 ksoftirqd/3
  28 root      20   0     0    0    0 S  0.7  0.0 971:50.97 ksoftirqd/4
  38 root      20   0     0    0    0 S  0.7  0.0 976:08.64 ksoftirqd/6
  43 root      20   0     0    0    0 S  0.7  0.0 981:19.61 ksoftirqd/7
  48 root      20   0     0    0    0 S  0.7  0.0 983:53.91 ksoftirqd/8
  53 root      20   0     0    0    0 S  0.7  0.0   1017:41 ksoftirqd/9
  58 root      20   0     0    0    0 S  0.7  0.0   1063:48 ksoftirqd/10
  63 root      20   0     0    0    0 S  0.7  0.0 992:10.16 ksoftirqd/11
  68 root      20   0     0    0    0 S  0.7  0.0   1009:06 ksoftirqd/12
  73 root      20   0     0    0    0 S  0.7  0.0 989:53.56 ksoftirqd/13
  78 root      20   0     0    0    0 S  0.7  0.0 975:21.03 ksoftirqd/14
  83 root      20   0     0    0    0 S  0.7  0.0 973:38.41 ksoftirqd/15
3351 named     20   0 1233m  19m 2776 S  0.7  0.1  49:30.70 named
 125 root      20   0     0    0    0 S  0.3  0.0  13:41.70 kworker/9:1
13951 dhcpd     20   0 55124  12m  636 S  0.3  0.1   0:08.57 dhcpd
   1 root      20   0 19276 1504 1236 S  0.0  0.0   0:03.28 init
   2 root      20   0     0    0    0 S  0.0  0.0   0:00.25 kthreadd
   5 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/0:0H
   7 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/u:0H
   8 root      RT   0     0    0    0 S  0.0  0.0   0:07.96 migration/0
   9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 rcu_bh
  10 root      20   0     0    0    0 S  0.0  0.0  99:33.42 rcu_sched
  11 root      RT   0     0    0    0 S  0.0  0.0   1:06.93 watchdog/0
  12 root      RT   0     0    0    0 S  0.0  0.0   1:06.62 watchdog/1
  14 root      RT   0     0    0    0 S  0.0  0.0   0:45.90 migration/1
  16 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/1:0H
  17 root      RT   0     0    0    0 S  0.0  0.0   0:51.12 watchdog/2
  19 root      RT   0     0    0    0 S  0.0  0.0   0:09.91 migration/2
  21 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/2:0H
  22 root      RT   0     0    0    0 S  0.0  0.0   0:51.42 watchdog/3
  24 root      RT   0     0    0    0 S  0.0  0.0   0:06.58 migration/3
  26 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kworker/3:0H
  27 root      RT   0     0    0    0 S  0.0  0.0   0:50.17 watchdog/4

 

Вопрос: top чего-то не учитывает или munin просто строит неправильный график.

 

update: сорри, не тот вывод запостил

Edited by BETEPAH

Share this post


Link to post
Share on other sites

Это проблема с tickless ядрами.

Munin считывает загрузку из файла '/proc/stat'. Значения в этом файле в jiffies. В не Tickless ядрах значения в этом файле постоянно обновляются и соответсвенно процессор находится в каком-то определенном состоянии (или что-то делает или idle). А в tickless ядрах этот файл иногда не обновляется. Из-за этого суммарная загрузка всех ядер на графиках munin не доходит до (100% x количество процессоров. idle на графиках тоже читается из файла, а не вычисляется как 100-загрузка cpu).

 

Если вы запустите dstat, то сумма usr+sys+idl+wai+hiq+siq тоже не будет равна 100.

 

Так же можно поизменять значения в конфиге ядра в "CPU/Task time and stats accounting" - "Cputime accounting", там есть на выбор "Simple tick based cputime accounting", "Full dynticks CPU time accounting" и "Fine granularity task level IRQ time accounting". Но это увеличит нагрузку в какой-то степени.

 

Еще можно переписать плагин для munin.

Edited by Painter

Share this post


Link to post
Share on other sites

Спасибо за разъяснения. Переписывать не буду, в перле ничего не понимаю, да и не надо особо.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this