Komut satırından çalışan bazı linux network / bandwidth izleme araçları
Linux’te kullanabileceğiniz bazı konsol bazlı network / bandwidth izleme araçları.
1. bwm-ng
Açıklama :
Bandidth Monitor NG konsol bazlı çalışan anlık ethernet istatistiklerini veren bir yazılım. Linux dışında BSD, Solaris Mac OS X işletim sistemlerinde de çalışıyor.
Ekran Görüntüsü :
Web sitesi :
http://www.gropp.org/?id=projects&sub=bwm-ng
2. iftop
Açıklama :
Konsol bazlı çalışan anlık ethernet istatistiklerini veren bir yazılım.
Ekran Görüntüsü :
Web sitesi :
http://www.ex-parrot.com/~pdw/iftop/
3. vnstat
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://humdi.net/vnstat/
4. iptraf
Açıklama :
Konsol bazlı network trafik izleme yazılımı. Bütün network istatistiklerini tutuyor.
Ekran Görüntüsü :
Web sitesi :
http://iptraf.seul.org/
5. bwbar
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://www.kernel.org/pub/software/web/bwbar/
6. iperf
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://sourceforge.net/projects/iperf/
7. ibmonitor
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://ibmonitor.sourceforge.net/
8. dstat
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://dag.wieers.com/home-made/dstat/
9. ifstat
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://gael.roualland.free.fr/ifstat/
10. ipfm
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://robert.cheramy.net/ipfm/
11. bmon
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://www.infradead.org/~tgr/bmon/
12. nload
Açıklama :
Konsol bazlı network trafik izleme yazılımı.
Ekran Görüntüsü :
Web sitesi :
http://sourceforge.net/projects/nload/
Posted in Genel, Linux on August 7th, 2012 by Kürşad DARA | | 0 Comments
mysqldump ve mydumper performans karşılaştırması.
mydumper multi thread çalışan bir mysql dump uygulaması.
Ben mysqldump ile mydumper performanslarını test ettim. Sonuçlar aşağıda.
Önce 1.5 milyon kayıtlı bir veritabanı üstünde test ettim.
mysql> SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''; +-----------------+ | SUM(TABLE_ROWS) | +-----------------+ | 1522578 | +-----------------+
[root@localhost backup]# time /usr/bin/mysqldump--opt --verbose --max_allowed_packet=500M --single_transaction --net_buffer_length=100M -t --skip-add-locks --skip-extended-insert --skip-comments > mysqldump.sql real 0m9.933s user 0m6.114s sys 0m0.598s [root@localhost backup]# time mydumper -B -o /root/backup/ real 0m5.406s user 0m2.555s sys 0m0.353s
Gördüğünüz gibi mysqldump yaklaşık 2 katı daha fazla sürüyor.
Şimdi kayıt sayısı 25 milyon olan bir veritabanı üstünde test edelim.
mysql> SELECT SUM(TABLE_ROWS) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''; +-----------------+ | SUM(TABLE_ROWS) | +-----------------+ | 28570568 | +-----------------+
[root@localhost backup]# time /usr/bin/mysqldump--opt --verbose --max_allowed_packet=500M --single_transaction --net_buffer_length=100M -t --skip-add-locks --skip-extended-insert --skip-comments > mysqldump.sql real 3m24.774s user 1m44.076s sys 0m12.374s [root@localhost backup]# time mydumper -B -o /root/backup/ real 1m58.312s user 0m44.470s sys 0m5.543s
Evet sonuç yine değişmedi. mydumper mysqldump’tan daha hızlı.
Mydumper : www.mydumper.org
Posted in Linux, MySQL, Web Development on July 31st, 2012 by Kürşad DARA | | 0 Comments
LVM disk resize işlemi
Vmware üstünde çalışan bir linux makinenin diskini artırdım. LVM üstündende bunu yapmak gerekiyor tabi ki.
[root@localhost ~]# fdisk -l Disk /dev/sda: 85.9 GB, 85899345920 bytes 255 heads, 63 sectors/track, 10443 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0008a7d6 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 1306 9972736 8e Linux LVM Disk /dev/mapper/VolGroup-lv_root: 5981 MB, 5981077504 bytes 255 heads, 63 sectors/track, 727 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_root doesn`t contain a valid partition table Disk /dev/mapper/VolGroup-lv_swap: 4227 MB, 4227858432 bytes 255 heads, 63 sectors/track, 514 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_swap doesn`t contain a valid partition table
Öncelikle yeni bir partition oluşturuyoruz.
[root@localhost ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It`s strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (1306-10443, default 1306): Using default value 1306 Last cylinder, +cylinders or +size{K,M,G} (1306-10443, default 10443): Using default value 10443 Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
Reboot işleminden sonra, pvcreate komutu ile oluşturduğumuz diski LVM görecek şekilde oluşturuyoruz.
[root@localhost ~]# pvcreate /dev/sda3 Writing physical volume data to disk "/dev/sda3" Physical volume "/dev/sda3" successfully created
lvdisplay ile var olan konfigürasyona bakıyoruz.
[root@localhost ~]# lvdisplay --- Logical volume --- LV Name /dev/VolGroup/lv_root VG Name VolGroup LV UUID IqdsSn-2dBV-QDhf-Ym13-c7vy-v79b-EQv6UK LV Write Access read/write LV Status available # open 1 LV Size 5.57 GiB Current LE 1426 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup/lv_swap VG Name VolGroup LV UUID Bvh8l4-DNXF-WmXy-z7Hi-7oVi-VJhb-4Fl7wC LV Write Access read/write LV Status available # open 1 LV Size 3.94 GiB Current LE 1008 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
Sıra geldi Volume Group’u vgextend ile büyütmeye.
[root@localhost ~]# vgextend VolGroup /dev/sda3 Volume group "VolGroup" successfully extended
Baktığımızda;
[root@localhost ~]# vgdisplay --- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 79.50 GiB PE Size 4.00 MiB Total PE 20353 Alloc PE / Size 2434 / 9.51 GiB Free PE / Size 17919 / 70.00 GiB VG UUID QxKsuL-3ke0-sZHW-e4cA-Rqyq-6vRg-zjCc2m
LVM’de total size istediğimiz gibi oldu. Şimdi diskimizi büyütelim artık.
[root@localhost ~]# lvextend -L +70GB /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 75.57 GiB Insufficient free space: 17920 extents needed, but only 17919 available
Bu hatanın sebebi şu eklediğimiz boş alan tam olarak 70GB değil ( 69 küsür GB ) o yüzden 69GB olarak veriyoruz.
lvextend komutu ile de “Free PE / Size” alanında belirtilen kadar boş alanı kullanıp diski extend ediyoruz.
df ile baktığımızda göründüğü gibi disk alanını hala eskisi gibi.
[root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 5749032 1584584 3872404 30% / tmpfs 1960684 0 1960684 0% /dev/shm /dev/sda1 495844 56486 413758 13% /boot
[root@localhost ~]# lvextend -L +69GB /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 74.57 GiB Logical volume lv_root successfully resized
Extend işleminden sonra resize2fs ile lvm e eklediğimiz disk alanını linux dosya sisteminde genişletiyoruz.
[root@localhost ~]# resize2fs /dev/mapper/VolGroup-lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 5 Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 19548160 (4k) blocks. The filesystem on /dev/mapper/VolGroup-lv_root is now 19548160 blocks long.
df ile baktığımızda göründüğü gibi artık diskimiz istediğimiz boyuta büyüdü.
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 74G 1.6G 69G 3% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 485M 56M 405M 13% /boot
Posted in File Systems, Linux on June 26th, 2012 by Kürşad DARA | | 0 Comments
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log hatası
MySQL’de replikasyon yaptığım slave sunucuda bazı işlemler yapmam gerekti. Sonrasında;
mysql> CHANGE MASTER TO MASTER_HOST='xx.xx.xx.xx', MASTER_USER='slave_user' ,MASTER_PASSWORD='xxx' ,MASTER_LOG_FILE='mysql-bin.001788' ,MASTER_LOG_POS=549864673; ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log
hatasını aldım.
Tabii ki yapmak gereken çok basit
mysql> flush slave; Query OK, 0 rows affected (0.00 sec)
sonrasında problemsiz devam edebilirsiniz.
Posted in Linux, MySQL on June 22nd, 2012 by Kürşad DARA | | 0 Comments
Apache mod_rewrite loglarini aktif etmek için.
Apache rewrite kullanırken eğer rewrite aktivitelerini loglamak ve debug etmek isterseniz aşağıdaki parametreleri apache config dosyasına yazıp apache yi kapatıp açmanız gerekir.
RewriteLog "/var/log/httpd/rewrite_log" RewriteLogLevel 3
RewriteLogLevel ı artırdıkça log dosyasınızdaki detay artacaktır ve doğal olarak apache yi yavaşlatacaktır.
Debug işlerinizi bitirdikten sonra bu parametreyi tekrar kapatırsanız mantıklı olur. Sonra unutup log dosyasının şişmesine sebeb olabilir.
Posted in Apache, Linux on May 2nd, 2012 by Kürşad DARA | | 0 Comments
Powermta Startup error: Error: host name “xxx” is not fully qualified, please configure ‘host-name’ and/or ‘domain-suffix’. hatası
PowerMTA sunucularından birini start etmek istediğimde aşağıdaki hatayı aldım.
[root@xxx ~]# /etc/init.d/pmta start Starting PowerMTA: [FAILED]
[root@xxx ~]# pmtad --debug 2012-04-24 12:35:56 Startup error: Error: host name "xxx" is not fully qualified, please configure 'host-name' and/or 'domain-suffix'.
Çözüm olarak hostname olarak full domain name set etmek gerekiyor.
[root@xxx sysconfig]# hostname xxx
[root@xxx sysconfig]# vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=xxx.kursad.com GATEWAY=xxx.xxx.xxx.xxx
[root@xxx sysconfig]# hostname xxx.kursad.com
[root@xxx sysconfig]# hostname xxx.kursad.com
[root@xxx sysconfig]# /etc/init.d/pmta start Starting PowerMTA: [ OK ]
[root@xxx sysconfig]# pmtad --debug 2012-04-24 12:38:26 Startup error: PowerMTA is already running
Posted in Linux, Mail Servers on April 24th, 2012 by Kürşad DARA | | 0 Comments
Apache ve PHP’nin versiyon bilgilerini gizleme
Apache ve PHP’nin versiyon bilgilerini headerdan gizleme ihtiyacı duydum. Dursun diye buraya da koyayım bari.
Apache’nin versiyon bilgilerini saklamak için :
/etc/httpd/conf/httpd.conf dosyasında ( ya da sizin conf dosyasınız nerede ise ) aşağıdaki parametreleri ayarlayın.
ServerSignature Off ServerTokens ProductOnly
Siz aşağıdaki tablodan yararlanıp isterseniz başka değer verebilirsiniz.
ServerToken | Görüntülenecek Bilgi |
ProductOnly | Server: Apache |
Major | Server: Apache/2 |
Minor | Server: Apache/2.0 |
Minimal | Server: Apache/2.0.55 |
OS | Server: Apache/2.0.55 (Redhat) |
Full(veya boş) | Server: Apache/2.0.64 (Unix) mod_ssl/2.0.64 OpenSSL/0.9.8e-fips-rhel5 |
Parametreleri ayarlamadan önce :
root@localhost:~# curl -I http://www.kursaddara.com HTTP/1.1 200 OK Date: Mon, 16 Apr 2012 06:45:50 GMT Server: Apache/2.0.64 (Unix) mod_ssl/2.0.64 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 X-Powered-By: PHP/5.2.9 Connection: close Content-Type: text/html
Parametreleri ayarladıktan sonra :
root@localhost:~# curl -I http://www.kursaddara.com HTTP/1.1 200 OK Date: Mon, 16 Apr 2012 06:47:56 GMT Server: Apache X-Powered-By: PHP/5.2.9 Connection: close Content-Type: text/html
Gördüğünüz gibi Apache bilgileri gizlendi.
Şimdi PHP versiyon bilgilerini gizleyelim.
/etc/php.ini dosyasında ( sizin config dosyanız nerede ise ) aşağıdaki parametreleri ayarlayın.
expose_php Off
Parametreleri ayarladıktan sonra :
root@localhost:~# curl -I http://www.kursaddara.com HTTP/1.1 200 OK Date: Mon, 16 Apr 2012 06:48:47 GMT Server: Apache Connection: close Content-Type: text/html
Gördüğünüz gibi PHP versiyon bilgisi gitti.
Bu parametreleri değiştirdikten sonra apache’yi restart etmeniz gerekmektedir.
Posted in Apache, Linux, PHP on April 16th, 2012 by Kürşad DARA | | 0 Comments
ERROR 1598 (HY000) at line 16: Binary logging not possible. Message: Transaction level ‘READ-UNCOMMITTED’ in InnoDB is not safe for binlog mode ‘STATEMENT’ hatası
Replikasyon kullandığınız bir mySQL veritabanında aşağıdaki hatayı alıyorsanız :
ERROR 1598 (HY000) at line 16: Binary logging not possible. Message: Transaction level 'READ-UNCOMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'
mysql> show variables like "binlog_format%"; +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | binlog_format | STATEMENT | +---------------+-----------+ 1 row in set (0.00 sec) mysql> SET GLOBAL binlog_format="MIXED"; Query OK, 0 rows affected (0.00 sec)
kalıcı olarak bu ayarın durması içinde my.cnf dosyasına
binlog_format = "MIXED"
ekleyin ki sonrasında mySQL i restart ettiğinizde tekrar bu ayarlarla ugraşmayın.
Detaylı bilgi için : http://dev.mysql.com/doc/refman/5.1/en/binary-log-setting.html
Posted in Genel, Linux, MySQL on April 13th, 2012 by Kürşad DARA | | 0 Comments
Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’ hatası
mysql slave sunucu da show slave status dediğinizde aşağıdaki hatayı alıyorsanız :
Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’
Öncelikle slave sunucu da
stop slave;
sonrasında master sunucu da
mysql> flush logs; mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000005 | 106 | | | +------------------+----------+--------------+------------------+
Buradan log file ismini ve position alıp daha sonra
slave sunucu da
mysql> CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000005′, MASTER_LOG_POS=106; mysql> start slave;
bu kadar.
Posted in Linux, MySQL on April 13th, 2012 by Kürşad DARA | | 0 Comments
vi/vim editörde yorum satırlarının rengini değiştirmek için
Anlık olarak değiştirmek istiyorsanız : yazdıktan sonra aşağıdaki komutu girip entere basarsanız yorumların renkleri koyu gri olacaktır. İstediğiniz rengi verebilirsiniz.
highlight Comment ctermfg=darkgray
Eğer kalıcı olarak bu değişikliği yapmak istiyorsanız /etc/vim/vimrc dosyasının içine bu satırları eklemeniz yeterli olacaktır.
Posted in Linux on March 26th, 2012 by Kürşad DARA | | 0 Comments
« Previous Page — Next Page »