How to use dstat to monitor your Linux/UNIX server Як використовувати dstat контролювати ваш Linux / UNIX серверів

by Sukrit Dhandhania on November 13, 2008 За Sukrit Dhandhania по 13 листопада 2008

Linux

If you have a Linux server running at your office or at a data center for which you are responsible, you want to maintain an uptime of as close to a hundred percent. Якщо у вас є сервер Linux працює в офісі або в центрі обробки даних, для яких ви несете відповідальність, ви хочете зберегти час безвідмовної роботи якомога ближче до сто відсотків. In such a case you want to make sure you keep an eye on how the system is running. У такому випадку ви хочете, щоб переконатися, що ви стежите про те, як система працює. To be precise you want to monitor all the system resources that contribute to the system running fine which then results in a high uptime. Щоб бути точним, ви хочете контролювати всі системні ресурси, які сприяють працюючої системи штраф, який потім призводить до високої проведене на сайті. Memory, CPU, disk usage… are some of the things you want to observe. Пам `ять, процесор, використання дискового простору ... деякі з речей, які ви хочете спостерігати. We would usually use a combination of the tools that come with a Linux or UNIX installation, such as “free”, “top”, “vmstat”… I'll introduce you to a tool that gives you just about all the info that the other tools combined give you, all under one roof – Dstat. Ми, як правило, використовують комбінацію з інструментів, що поставляються з Linux або UNIX установки, такі як "вільні", "Вгору", "vmstat" ... я познайомлю вас з інструментом, який дає Вам майже всю інформацію про те, що інші інструменти комбіновані даю вам, і все під одним дахом - Dstat. The developer of this command line tool, Dag Wieers, calls it “a versatile replacement for vmstat, iostat, netstat and ifstat”. Розробник цієї утиліти командного рядка, Даг Wieers, називає це "універсальний заміну vmstat, iostat, NETSTAT і ifstat". He adds that “Dstat overcomes some of their limitations and adds some extra features…” To me Dstat is the mother of all command line system monitoring tools. Він додає, що "Dstat подолати деякі обмеження і додані деякі додаткові можливості ..." Для мене Dstat є матір'ю всіх утиліт командного рядка системи моніторингу. It's simple to install, easy to use, can be tweaked with ease, and it generates reports that you can plot as a graph to impress your boss. Вона проста в установці, проста у використанні, можна трохи з легкістю і генерує звіти, які можна побудувати у вигляді графа, щоб вразити вашого боса.

Installing Dstat Установка Dstat

Start by downloading the Dstat installer. Для початку завантаження програми установки Dstat. Point your web browser to the Dstat project's homepage – Вкажіть ваш веб-браузер для початку проекту Dstat's -- http://dag.wieers.com/home-made/dstat/ http://dag.wieers.com/home-made/dstat/ . . Scroll down to the section of the page where the downloads are listed. Перейдіть в розділ сторінки, де перераховані завантаження. Pick the flavor of Linux on which you want to install the application and click on the download link. Оберіть смак Linux, на якому ви хочете встановити до програми та натисніть на посилання для завантаження. Now download the latest version of Dstat for the version of the Linux distribution you are running. Тепер завантажити останню версію Dstat за версією дистрибутиву Linux ви використовуєте. I'll show you how to do it for a Red Hat Enterprise Linux version 4 machine: Я покажу вам, як зробити це для Red Hat Enterprise Linux версії 4 машини:

# wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm # Wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm

Now install Dstat: Тепер встановимо Dstat:

# rpm -Uvh dstat-0.6.6-1.el4.rf.noarch.rpm # Мін-Uvh dstat-0.6.6-1.el4.rf.noarch.rpm

If the installation went though without errors, that's it, you have Dstat installed and ready for use. Якщо установка пішов, хоча без помилок, от і все, у вас є Dstat встановлене і готове до використання. If there were some dependencies that came up during the installation just install the required packages and try again. Якби були такі залежності, які прийшли в процесі інсталяції просто встановіть необхідні пакети і починав знову. I don't think that Dstat has too many dependencies, so you should not face any problems. Я не думаю, що Dstat надто багато залежностей, так що ви не повинні вирішувати будь-які проблеми.

Using Dstat Використання Dstat

With Dstat installed on your system you should be good to go. З Dstat встановлені на вашій системі, має бути добре йти. Begin by launching the command from a terminal: Почніть з початку команду в терміналі:

# dstat # Dstat

The output would be something like the following. Висновок повинен бути чимось на зразок наступного. Hit the key combination of ctrl+c to exit. Натисніть комбінацію Ctrl + C для виходу.

# dstat # Dstat
—-total-cpu-usage—- -disk/total -net/total- —paging– —system– - Всього-CPU-використання - -disk/total -net/total--пейджінг-сістеми
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_ USR SYS IDL WAI HIQ Сік | _read написати | _recv _SEND | __in_ _out_ | _int_ _csw_
7 1 91 1 0 0| 0 0 | 0 0 | 0 0 | 0 0 7 1 91 1 0 0 | 0 0 | 0 0 | 0 0 | 0 0
1 0 99 0 0 0| 0 0 | 0 0 | 0 0 |1051 1945 1 0 99 0 0 0 | 0 0 | 0 0 | 0 0 | 1051 1945
0 0 100 0 0 0| 0 12k|2269B 11.2k| 0 0 |1031 1923 0 0 100 0 0 0 | 0 12k | 2269B 11.2k | 0 0 | 1031 1923
1 0 99 0 0 0| 0 40k| 0 0 | 0 0 |1078 2235 1 0 99 0 0 0 | 0 40K | 0 0 | 0 0 | 1078 2235
0 0 100 0 0 0| 0 16k|6027B 21.5k| 0 0 |1008 2219 0 0 100 0 0 0 | 0 16k | 6027B 21.5k | 0 0 | 1008 2219

There are a number of options available for Dstat. Є кілька варіантів, наявних у Dstat. As I mentioned earlier Dstat is quite easy to tweak. Як я згадував раніше Dstat досить простий в налаштуванні. So if you want to limit the data reading to the CPU, disk, and network, run the following command: Так що якщо ви хочете обмежити читання даних з центрального процесора, диска і мережі, запустіть наступну команду:

# dstat -CDN # Dstat-CDN
-disk/total -net/total- —paging– —system– -disk/total -net/total--пейджінг-сістеми
_read write|_recv _send|__in_ _out_|_int_ _csw_ _read написати | _recv _SEND | __in_ _out_ | _int_ _csw_
0 0 | 0 0 | 0 0 | 0 0 0 0 | 0 0 | 0 0 | 0 0
0 12k|2295B 9603B| 0 0 |1053 1957 0 12k | 2295B 9603B | 0 0 | 1053 1957
0 0 | 594B 0 | 0 0 |1002 1893 0 0 | 594B 0 | 0 0 | 1002 1893
0 960k| 292B 3346B| 0 0 |1072 2012 0 960k | 292B 3346B | 0 0 | 1072 2012
0 4096B| 64B 0 | 0 0 |1031 1939 0 4096B | 64Б 0 | 0 0 | 1031 1939

You can find more options in the application's help document which you can access by entering the following: Ви зможете знайти більше посилань в документі допомогою додатків, які можна отримати доступ, ввівши наступне:

# dstat -h # Dstat-H

Play with the options a little so you get comfortable with them. Пограйте з параметрами мало тому ви отримуєте зручний з ними. The default interval between data reads is two seconds. За замовчуванням інтервал між даними читає це дві секунди. You can change that interval if you need to. Ви можете змінити цей інтервал, якщо вам потрібно. To increase the interval to ten seconds enter the following: Щоб збільшити інтервал до десяти секунд введіть таку команду:

# dstat 10 Dstat # 10

Another useful feature is to get aggregated updates for each entry. Ще однією корисною функцією є отримання агрегованих оновлень для кожного запису. So you can have Dstat give you an update every ten seconds in a new line, but as the data changes your line itself gets updated every second. Таким чином, ви можете мати Dstat вам через кожні десять секунд в новий рядок, але тому що дані зміни до вашої самої лінії оновлюється кожну секунду.

You might optionally want Dstat to give you five updates with a frequency of three seconds. Ви можете опціонально Dstat хочемо дати вам п'ять оновлень з частотою три секунди. Here's how you would go about doing that: От як би ви ходити, що робити:

# dstat 3 5 Dstat 3 # 5
—-total-cpu-usage—- -disk/total -net/total- —paging– —system– - Всього-CPU-використання - -disk/total -net/total--пейджінг-сістеми
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_ USR SYS IDL WAI HIQ Сік | _read написати | _recv _SEND | __in_ _out_ | _int_ _csw_
3 1 95 2 0 0| 0 0 | 0 0 | 0 0 | 0 0 3 1 95 2 0 0 | 0 0 | 0 0 | 0 0 | 0 0
2 11 87 1 0 0| 0 180k|2581B 3239B| 0 0 |1136 697 2 11 87 1 0 0 | 0 180K | 2581B 3239B | 0 0 | 1136 697
7 8 85 0 0 0| 0 0 | 115k 106k| 0 0 |1603 3985 7 8 85 0 0 0 | 0 0 | 115K 106K | 0 0 | 1603 3985
2 1 98 0 0 0| 0 0 |77.5k 170k| 0 0 |1744 3856 2 1 98 0 0 0 | 0 0 | 77.5k 170K | 0 0 | 1744 3856
1 0 100 0 0 0| 0 0 |3451B 9993B| 0 0 |1045 149 1 0 100 0 0 0 | 0 0 | 3451B 9993B | 0 0 | 1045 149
2 1 94 4 0 0| 0 276k|20.4k 31.1k| 0 0 |1219 804 2 1 94 4 0 0 | 0 276K | 20.4k 31.1k | 0 0 | 1219 804

The feature that I find most useful is the output. Функція, що я вважаю найкориснішим є вихід. Dstat allows you to have the output of a session written into a comma separated file which can later be imported into a spreadsheet application such as Microsoft Excel and the data can be plotted into a graph. Dstat дозволяє мати вихід сесії записано в розділених комами файл, який згодом можна імпортувати в електронну таблицю програми, такі як Microsoft Excel, і дані можуть бути нанесені на графік. Here is how it can be used. Ось як це можна використовувати.

# dstat –output /tmp/dstat_data.csv -CDN # Dstat-вихід / TMP / dstat_data.csv-CDN

Let the above command run while you run your applications or do your testing on this machine. Нехай вище команду запуску при запуску додатків або робити тестування на цій машині. Hit the key combination of ctrl+c when you are done. Натисніть комбінацію Ctrl + C, коли ви зробили. Open the file dstat_data.csv with a spreadsheet application such as Microsoft Excel or Open Office. Відкрийте файл dstat_data.csv з таблицями таких додатків, як Microsoft Excel або Open Office. You can then select the columns you want plotted into a graph and let your spreadsheet application do the magic. Потім можна вибрати стовпці, які побудовані у вигляді графіка і нехай ваші таблиці зробити магію.

Get a Report by Mail Отримати звіт поштою

There may be cases wherein you want to observe how your server is performing over a period of time. Там можуть бути випадки, коли ви хочете спостерігати, як ваш сервер виконує протягом часу. You can setup a background process in Linux that will give you a reading with a certain interval, generate a report, and mail out the file to you. Ви можете встановити фоновий процес в Linux, який дасть вам читання з певним інтервалом, сформувати звіт і відправити поштою з файлу до вас. This can be especially useful during a stress-test. Це може бути особливо корисно під час стрес-тестів. Here's how you could do that. Ось як це можна зробити. The following script will run Dstat for three hours, reading the data every 30 seconds, and will mail out the report to me@myemailid.com. Наступний сценарій буде працювати Dstat протягом трьох годин, читаючи дані кожні 30 секунд, і майже з доповіді me@myemailid.com.

#!/bin/bash #! / BIN / Bash
dstat –output /tmp/dstat_data_mail.csv -CDN 30 360 dstat-вихід / TMP / dstat_data_mail.csv CDN-30 360
mutt -a /tmp/dstat_data_mail.csv -s “Dstat Report for 3 hour run” me@myemailid.com < /dev/null Mutt-A / TMP / dstat_data_mail.csv-S "Dstat звіт за 3 години Run" me@myemailid.com </ Dev / NULL

Save the above script in a file called dstat_script.sh on your server, give it executable permission and then run it as a background process: Зберегти вище сценарію в файлі під назвою dstat_script.sh на ваш сервер, дайте йому дозвіл на виконання, а потім запустити його в якості фонового процесу:

# chmod +x dstat_script.sh # CHMOD + X dstat_script.sh
# nohup ./dstat_script.sh & # Nohup. / & Dstat_script.sh

Done. Готово. Yes, it's that simple. Так, це так просто. You will now be mailed this report after it's done running. Тепер ви будете по пошті після цієї доповіді він зробив працює. You can optionally schedule this script as a daily cron job so that you can receive this data every day. Ви можете опціонально графіком цей скрипт як щоденна робота Cron, щоб ви могли отримувати ці дані щодня.

As you may already have realized Dstat is a wonderful tool when applied to performance monitoring and debugging. Як ви вже зрозуміли, Dstat є прекрасним інструментом, коли застосовується для контролю виконання та налагодження. The granularity, frequency, and nature of the data collected are completely up to you. Деталізації, частоти і характеру даних, зібраних повністю залежить від вас. Dstat empowers you to know what is going on on your server. Dstat дає вам знати, що відбувається на вашому сервері. Used wisely this power can result in a lot less sleepless nights for you. Розумно використовувати цю владу може призвести до набагато менше безсонних ночей для вас.

Related Posts: Схожі повідомлення:
  • How to setup slow query logging in MySQL Як налаштувати журнал повільних запитів в MySQL
  • How to monitor your Mac laptop's battery health Як контролювати вашу батарею ноутбука Mac здоров'я
  • How to monitor your Internet bandwidth usage in OS X Як контролювати ваш інтернет трафік в OS X
  • How to view live updates in a file under Linux Як переглянути жити оновлень у файлі під Linux
  • How to monitor your Internet bandwidth usage in OS X, redux Як контролювати ваш інтернет трафік в OS X Redux
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Отримати довідки Прості підручників, як це у вашому поштовому ящику щодня - безкоштовно! Just enter your email address below: Просто введіть свою адресу електронної пошти нижче:

    You can always opt out of this email subscription at any time. Ви завжди можете відмовитися від підписки це повідомлення в будь-який час.

    { 2 comments… read them below or (2 коментарів ... читати їх нижче або add one Додати одну } )

    1 1 perfector Perfector 12.12.08 at 12:59 am 12.12.08 в 12:59 ранку

    Nice article. Nice статті.

    2 2 oberförster 01.21.09 at 8:15 am oberförster 01.21.09 в 8:15 ранку

    I've just found a little discrepancy between dstat and dd regarding the I/O: Я тільки що знайшов мало розбіжностей між dstat і ДД щодо введення / виводу:

    ifx@ids:/opt/informix/devices$ dd if=file_20GB of=/dev/null bs=2048 count=10000000 IFX @ IDS: / Opt / Informix / пристрої $ DD = file_20GB якщо OF = / Dev / Bs = NULL 2048 Count = 10000000
    10000000+0 Datensätze ein 10000000 0 Datensätze Ейн
    10000000+0 Datensätze aus 10000000 0 Datensätze AUS
    20480000000 Bytes (20 GB) kopiert, 261,738 s, 78,2 MB/s 20480000000 байт (20 Гб) kopiert, 261738 с, 78,2 МБ / с

    A shell running dstat at the same time showed me: Dstat оболонка, що працює в той же час показав мені:

    -dsk/total—-dsk/hdc—–dsk/hdd– -dsk/total--dsk/hdc--dsk/hdd-
    read writ: read writ: read writ Читайте наказ: читати наказ: читати наказ
    140M 104k: 62M 24k:7960k 28k 140M 104K: 62m 24k: 7960k 28k
    150M 0 : 64M 0 : 12M 0 150M 0: 64M 0: 12M 0
    160M 0 : 0 0 : 80M 0 160M 0: 0 0: 80m 0
    154M 0 : 43M 0 : 34M 0 154М 0: 43м 0: 34m 0
    150M 0 : 75M 0 : 0 0 150M 0: 75m 0: 0 0
    153M 56k:8384k 20k: 68M 8192B 153m 56k: 8384k 20k: 68m 8192B

    So it looks like we all should use dstat if we want to impress people with big numbers. Так це виглядає, як усі ми повинні використовувати dstat якщо ми хочемо переконати людей з великими числами.

    Looks also like you shouldn't compare dstat to something else than dstat if you really want to compare systems, I doubt I'll use it any more for this kind of stuff any more. Виглядає також як і ви не повинні порівнювати dstat що-небудь інше, ніж dstat якщо ви дійсно хочете порівнювати системи, я сумніваюся, я буду використовувати його більше для такого роду речей, які більше.

    Leave a Comment Залишити коментар

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Ви можете використовувати ці HTML теги і атрибути: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q Cite=""> <strike> <strong>