The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Учет трафика, статистика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от tikohajan email(ok) on 07-Янв-11, 23:04 
Доброго времени суток. Вот такая задача у меня:
Хочу, чтоб графиками mrtg отобразились потери моей сетки. Есть пакет mrtg-ping-probe, но, на мой взгляд, он немного запутанный. И по-этому пытаюсь создавать графики БЕЗ него. Так, написал такой конфиг:

# Begin

WorkDir: /usr/local/www/apache22/data/mrtg/mrtg-ping

Target[192.168.1.6_loss]:  '/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %'
Title[192.168.1.6_loss]: Packet Loss Analysis
PageTop[192.168.1.6_loss]: <H1>Packet Loss Analysis for 192.168.1.6</H1>
MaxBytes[192.168.1.6_loss]: 100
AbsMax[192.168.1.6_loss]: 101
WithPeak[192.168.1.6_loss]: ymwd
Options[192.168.1.6_loss]: gauge, nopercent, nobanner
Unscaled[192.168.1.6_loss]: dwmy
YLegend[192.168.1.6_loss]: Packet Loss (%)
ShortLegend[192.168.1.6_loss]: %
Legend1[192.168.1.6_loss]: Packet Loss Percentage
LegendI[192.168.1.6_loss]: Percent of loss:
LegendO[192.168.1.6_loss]:

# EOF

Отдельно команда ping работает. Вот:

Server# ping -c 1 -t 1 192.168.144.10 | awk '{print $(7)}' | grep %
100.0%
Server#

А вот с MRTG - выдает:

Server# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg-ping
2011-01-07 23:43:41: ERROR: Target[192.168.1.6_loss][_IN_] ''/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %'' (eval): syntax error at (eval 21) line 1, near "'/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{"

2011-01-07 23:43:41: ERROR: Target[192.168.1.6_loss][_OUT_] ''/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %'' (eval): syntax error at (eval 22) line 1, near "'/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{"

Server#

ПОЧЕМУ :-<(

Заранее благодарю.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от Аноним (??) on 08-Янв-11, 06:00 
смотрите на строку очень внимательно:
Target[192.168.1.6_loss]:  '/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %'

подсказка: кавычки

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от tikohajan email(ok) on 08-Янв-11, 09:54 
> смотрите на строку очень внимательно:
> Target[192.168.1.6_loss]:  '/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}'
> | grep %'
> подсказка: кавычки

Ах да, понял я, спасибо. Но как можно избегать ковычек, или как можно решить проблему?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от Аноним (??) on 08-Янв-11, 12:15 
>> смотрите на строку очень внимательно:
>> Target[192.168.1.6_loss]:  '/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}'
>> | grep %'
>> подсказка: кавычки
> Ах да, понял я, спасибо. Но как можно избегать ковычек, или как
> можно решить проблему?

может быть так заработает:
Target[192.168.1.6_loss]:  "/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %"
или так:
Target[192.168.1.6_loss]:  "/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print \$7}' | grep %"
эксперементировать надо.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от tikohajan email(ok) on 08-Янв-11, 13:04 
>[оверквотинг удален]
>>> подсказка: кавычки
>> Ах да, понял я, спасибо. Но как можно избегать ковычек, или как
>> можно решить проблему?
> может быть так заработает:
> Target[192.168.1.6_loss]:  "/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print $7}'
> | grep %"
> или так:
> Target[192.168.1.6_loss]:  "/sbin/ping -c 1 -t 1 192.168.1.6 | awk '{print \$7}'
> | grep %"
> эксперементировать надо.

Неа. Не получилось.
Попробую по-другомч сформулировать свой вопрос.
Надо отдельно вывести величину процента потерий в команде PING. Например из

Server# ping -c 4 192.168.1.6
PING 192.168.1.6 (192.168.1.6): 56 data bytes
64 bytes from 192.168.1.6: icmp_seq=0 ttl=64 time=0.128 ms
64 bytes from 192.168.1.6: icmp_seq=1 ttl=64 time=0.073 ms
64 bytes from 192.168.1.6: icmp_seq=2 ttl=64 time=0.071 ms
64 bytes from 192.168.1.6: icmp_seq=3 ttl=64 time=0.069 ms

--- 192.168.1.6 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.069/0.085/0.128/0.025 ms
Server#

надо вывести "0.0" из предпоследной строки или только "0".

Вариант

ping -c 1 -t 1 192.168.1.6 | awk '{print $7}' | grep %

не подашел, поскольку ковычки "мешают" см. выше.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от orangeant on 08-Янв-11, 15:17 
Во-первых, надо заключать команду в обратные кавычки (`) вместо апостофов (').
Во-вторых, команда должна возвращать MRTG 4 строки вывода:

External Monitoring Scripts

If you want to monitor something which does not provide data via snmp you can use some external program to do the data gathering.

The external command must return 4 lines of output:

Line 1

current state of the first variable, normally 'incoming bytes count'
Line 2

current state of the second variable, normally 'outgoing bytes count'
Line 3

string (in any human readable format), telling the uptime of the target.
Line 4

string, telling the name of the target.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от orangeant on 08-Янв-11, 15:42 
в-третьих, всё-таки лучше разобраться и использовать mrtg-ping-probe, который именно для этого хорошие люди и написали.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "MRTG с обычным '/sbin/ping'-ом на FreeBSD 8.0"  +/
Сообщение от Hammer (ok) on 12-Янв-11, 12:51 
> в-третьих, всё-таки лучше разобраться и использовать mrtg-ping-probe, который именно
> для этого хорошие люди и написали.

`ping -c 1 -t 1 192.168.1.6 | awk '{print \$7}' | grep %`
У меня вот так работает.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру