Архив метки: linux

Инструменты для мониторинга в Linux

Создано на основе публикации: https://habrahabr.ru/company/first/blog/310164/

dstat — показывает текущую нагрузку на сеть и жесткий диск

strace — показывает все системные вызовы выполняемые программой. Например:

strace php script.php

opensnoop, execsnoop, eBFP — показывает в реальном времени файлы открываемые программой. Например:

opensnoop -p 2016

— покажет открытые файлы процессом с PID 2016

netcat — позволяет из консоли выполнять сетевые запросы.

netstat — просмотр «занятых » сетевых портов

ngrep — просмотр сетевого трафика. Например:

ngrep -d any yandex

tcpdump — то-же просмотр сетевого трафика с более широкими возможностями.

wireshark — просмотр трафика с gui

perf — просмотр, чем занимается процессор. Например:

perf record php  -записываем что делает php
затем смотрим:
prefreport

 

Создание ссылки на каталог при помощи ln

Бывает такая беда. Часто… Создал разделы на ж/д и не рассчитал их размеры.. А потом ходишь, ходишь в школу, а потом БАЦ! И место неожиданно кончилось. И лишнего с раздела удалить нечего или нельзя…

Поможет чудная команда ln, которая может создать ссылку с одного раздела на другой так, что другие программы даже не заметят того, что на самом деле работают уже с другим диском или разделом.

Например: перенесем папку /var/log на другой раздел, который находится..ну скажем в /backup . Для этого:

  1. Физически переместим папку /log из /var в /backup
  2. Выполним команду:
ln -s /backup/log /var

Профит. Всё работает. Никто подмены не заметил..

Автоматическое создание поддомена в apache

Задача: избавиться от необходимости руками прописывать каждый домен в настройках Apache.

Решение: настроим apache так, чтобы он автоматически подхватывал доменное имя, и отдавал страницу из соотвествующей доменному имени папки:

1. Вкючаем модуль vhost_alias

2. Настраиваем основной кинфиг apache подобным образом образом:

<VirtualHost *:80>
 ServerAdmin pкуцаукауb@mail.ru
DocumentRoot /var/www/html
 VirtualDocumentRoot /var/www/html/%0

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName zxc.ru
ServerAlias *.zxc.ru
</VirtualHost>

 

3. Одно НО! Настроенный таким образом апач будет искать www.zxc.ru и zxc.ru в разных папках. Для устранения: в папке www.zxc.ru создадим .htaccess, который будет переадресовывать на zxc.ru:

Redirect 301 / http://ymt-net.ru/

Просмотр и изменение текущей скорости сетевой карты

Просмотр сетевых карт:

sudo ifconfig

Просмотр скорости по соединению:

sudo ethtool eth0

Например:

pavel@pavel-All-Series:~$ sudo ethtool eth0
Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	Link partner advertised pause frame use: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000033 (51)
			       drv probe ifdown ifup
	Link detected: yes

Принудительное выставление интерфейсу скорости 1гиг:

sudo ethtool -s eth0 duplex full speed 1000 autoneg off