7/5/12

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat


I – Giới thiệu:
vnStat là một công cụ nhỏ gọn chạy ở chế độ console giúp chúng ta có thể monitor lưu lượng mạng trên từng interface của hệ thống Linux. Tiện ích này dùng chính những thống kê trên các interface được kernel của hệ điều hành trả về để xử lý. Vì thế, vnStat sẽ không cài thêm bất kỳ thành phần nào khác để monitor hay ghi logs của hệ thống mạng.

II – Cài đặt và cấu hình:
vnStat có thể chạy trên nhiều hệ điều hành Linux khác nhau như Debian/Ubuntu, RedHat/Fedora/CentOS, Arch, openSUSE. Ở đây mình sẽ thực hiện cài đặt vnStat lên hệ điều hành CentOS bằng lệnh yum
# yum install vnstat
Nếu các bạn muốn cài đặt từ source thì có thể download ở trang chủ với link sau: http://humdi.net/vnstat
Vì vnStat dựa trên các thông tin được cung cấp bởi kernel của hệ điều hành để đưa ra thống kê. Vì thế trước khi có thể sử dụng được tiến ích này ta cần thực hiện bước xác thực giữa kernel và vnStat. Ta thực hiện lệnh sau
# vnstat –testkernel
vnstat-utility-01

1) Sử dụng vnStat để monitor một interface:

Không giống như các phần mềm monitor hệ thống mạng khác, vnStat sẽ không tự động giám sát tất cả các interface có trên hệ thống của chúng ta. Ở đây ta cần chỉ ra các interface nào cần được monitor. Ví dụ mình sẽ thực hiện monitor card eth1 như sau
Thực hiện lệnh sau một lần
# vnstat –u –i eth1
vnstat-utility-02
Mỗi khi chạy lệnh này, vnStat sẽ khởi tạo database chứa dữ liệu mạng của giao tiếp eth1 với đường dẫn /var/lib/vnstat/eth1
Để xem hệ thống chúng ta còn có những interface nào mà vnStat có thể monitor thì chúng ta thự hiện lệnh sau
# vnstat –iflist
vnstat-utility-03
Sau khi khởi tạo nơi lưu trữ database cho giao tiếp eth1, chúng ta cần khởi động tiến trình vnstatd để có thể monitor và ghi logs trên giao tiếp mạng này.
# vnstatd –d
vnstat-utility-04
Chú ý: Để thiết đặt vnStat khởi động cùng với hệ thống, chúng ta có thể thêm dòng “vnstatd –d” vào file /etc/rc.local

2) Lệnh vnstat:

Khi gõ lệnh vnstat mà không có đối số nào kèm theo thì tiện ích này sẽ trả về cho chúng ta một thống kê nhanh về:
  • Thời điểm cuối cùng mà database của vnStat ở thư mục /var/lib/vnstat/ được cập nhật.
  • Thời điểm bắt đầu monitor một interface nào đó.
  • Các dữ liệu về mạng như số byte gửi/nhận trong vòng 2 tháng và 2 ngày qua.
    [root@server ~]# vnstat
    Database updated: Sun Jan  8 22:30:16 2012
    
       eth1 since 01/08/12
    
              rx:  273 KiB      tx:  98 KiB      total:  371 KiB
    
       monthly
                         rx      |     tx      |    total    |   avg. rate
         ------------------------+-------------+-------------+---------------
           Jan '12       273 KiB |      98 KiB |     371 KiB |    0.00 kbit/s
         ------------------------+-------------+-------------+---------------
         estimated        --     |      --     |      --     |
    
       daily
                         rx      |     tx      |    total    |   avg. rate
         ------------------------+-------------+-------------+---------------
             today       273 KiB |      98 KiB |     371 KiB |    0.04 kbit/s
         ------------------------+-------------+-------------+---------------
         estimated        --     |      --     |      --     |
Chú ý: Nếu bạn chỉ vừa mới cài đặt vnStat thì có thể sau khi chạy lệnh trên sẽ có thông báo sau “eth1: Not enough data available yet.” Bạn hãy chờ một thời gian sau và thử lại để có kết quả đầy đủ hơn Smile.

3) Thống kê lưu lượng theo thời gian:

Để thống kê lưu lượng theo giờ ta có thể dùng lệnh “vnstat -h” hoặc “vnstat -hours”.
Để thống kê lưu lượng theo ngày ta có thể dùng lệnh “vnstat -d” hoặc “vnstat -days”
[root@server ~]# vnstat -d

 eth1  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      01/08/12       314 KiB |     133 KiB |     447 KiB |    0.04 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |
Để thống kê lưu lượng theo tháng ta có thể dùng lệnh “vnstat -m” hoặc “vnstat -months”
[root@server ~]# vnstat -m

 eth1  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Jan '12       352 KiB |     145 KiB |     497 KiB |    0.01 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        --     |      --     |      --     |

4) Theo dõi trực tiếp lưu lượng ra vào trên một interface:
Để xem lưu lượng ra vào trực tiếp trên interface eth1 ở thời điểm hiện tại ta có thể dùng lệnh sau
# vnstat –l -i eth1
[root@server ~]# vnstat -l -i eth1
Monitoring eth1...    (press CTRL-C to stop)

   rx:     1.41 Mbit/s   130 p/s          tx:       60 kbit/s    99 p/s
Kết quả sau khi ngắt theo dõi
 eth1  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                     1.57 MiB  |         284 KiB
--------------------------------------+------------------
          max            2.64 Mbit/s  |       84 kbit/s
      average           20.20 kbit/s  |     3.56 kbit/s
          min               0 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                       2207  |            1730
--------------------------------------+------------------
          max                238 p/s  |         150 p/s
      average                  3 p/s  |           2 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                 10.63 minutes

Chú ý: Mặc định với lệnh “vnstat -l” sẽ giúp chúng ta theo dõi lưu lượng ra vào trên eth0.

5) Thống kê danh sách top 10 ngày có lưu lượng ra/vào nhiều nhất:
Để thống kê danh sách top 10 ngày có lưu lượng ra/vào nhiều nhất ta có thể sử dụng lệnh “vnstat -t” hoặc “vnstat -top10”.
$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   11/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

6) Một vài định dạng xuất khi thông tin trên vnstat:
vnStat hỗ trợ một vài style khác nhau khi xuất các kết quả về lưu lượng ra màng hình console. Chúng ta có thể thực hiện với tham số “--style”. Chẳn hạn:
# vnstat --style 0
Một vài tham số khác:
  • 0: Xuất hẹp
  • 1: Hiện cột
  • 2: Hiện cột và các thống kê trung bình
  • 3: Hiện giá trị của tốc độ trung bình ở tất cả các output.
  • 4: Sử dụng cùng với lệnh “vnstat -l” sẽ cho kết quả cập nhật liên tục trên nhiều dòng thay vì một dòng.
Đây là một trong danh sách rất nhiều các công cụ giúp chúng ta giám sát hệ thống. Ở các bài viết sau mình sẽ trình bày thêm về một số công cụ khác Smile.

26/4/12

Forever and One

What can I do?
Will I be getting through?
Now that I must try to leave it all behind
Did you see what you have done to me?
So hard to justify
Slowly it's passing by

Forever and one I will miss you
However, I kiss you yet again
Way down in Neverland
So hard I was trying
Tomorrow I'll still be crying
How could you hide your lies
Your lies

Here I am
Seeing you once again
My mind's so far away
My heart's so close to stay
Too proud to fight
I'm walking back into night
Will I ever find someone to believe?

Forever and one I will miss you
However, I kiss you yet again
Way down in Neverland
So hard I was trying
Tomorrow I'll still be crying
How could you hide your lies
Your lies

"Hạnh phúc là cái cho đi để mang lại hạnh phúc cho người khác. Và ta sẽ thực sự cảm thấy điều đó khi nhìn thấy người ta yêu thương được hạnh phúc ".Tôi không tin rằng tình yêu là thứ tình cảm vị kỷ, bởi vì tình yêu là tình cảm mà người này dành cho người kia bằng tất cả tấm lòng và sự tin yêu chứ nó không thể là sự vị kỷ, áp đặt tình cảm lên nhau được. Tình yêu mà chỉ cần đến YÊU thôi thì có lẽ không toàn vẹn,với tôi có lẽ cần đến " ba phần YÊU " _ " hai phần THƯƠNG " _ một chữ nghĩa và một chữ tình mới đủ để người ta hy sinh và tha thứ bao dung cho nhau trong suốt cuộc đời. Ngày xưa mỗi lần nghe đến " Forever and one" , có lẽ tôi không đủ lớn để có thể hiểu hết những tâm sự trong đó, cả không đủ lớn để hiểu về cái gọi là tình yêu . Thế nên mỗi lần nghe đến bài này , tôi chỉ có thể mơ hồ cảm thấy một sự xót xa, một nỗi đau day dứt ẩn sau mỗi nốt nhac vang lên. Cả những từ mà tôi nghe thấy chỉ là chữ được chữ mất đã không làm tôi hiểu hết được những gì người ca sĩ truyền tải đến. Có chăng trong tôi lúc đó chỉ đủ sức cảm nhận một nỗi đau đang oằn mình bên trong mà thôi.

"What can I do ?

Will I be getting through ?
Now that I must try to leave it all behind..."

Thật là khó khăn khi bỗng chốc mọi thứ đều thay đổi...khi những thương yêu mà chàng trai những tưởng sẽ tồn tại mãi mãi bỗng chốc lại tan vỡ vì sự ra đi đột ngột của cô gái...không một lời giải thích, không một lý do..." Anh còn có thể làm được gì ? Rồi cũng sẽ vượt qua được mọi thứ chăng ? Giờ đây , có lẽ anh phải cố gắng để tất cả lại đằng sau ..." Bỏ lại những tháng ngày êm đềm , bỏ lại những kỷ niệm đã một thời từng nâng niu, từng trân trọng để đối diện với những sự thật trước mắt , đối diện với những tan vỡ mà có lẽ chàng trai không hề muốn xảy ra...



"...Did you see what you have done to me?

So hard to justify

Slowly it's passing by..."
Nếu cho rằng khi một tình yêu sâu nặng bị tổn thương sẽ dễ dàng biến thành lòng hận thù tôi e là đó là tình cảm vị kỷ trong tình yêu mà thôi, đó là một thứ tình yêu ích kỷ và mù quáng bởi chính bàn thân họ. Tôi cho rằng khi tình yêu đã không còn thì đừng nên níu kéo tất cả lại... níu kéo để làm gì khi người ta không còn dành cho mình chút tình cảm nào. Đừng làm cho người ra đi phải mang cảm giác có lỗi vì đã hết yêu thương, đừng oán trách nhau bằng những lời trách móc , những lời làm tổn thương nhau...Bởi nếu trong bạn còn tình yêu với người kia thì sẽ chẳng lấy làm sung sướng gì khi làm cho người đó đau khổ, làm cho người đó đem theo mặc cảm tội lỗi đã ruồng bỏ bạn...Tình yêu đã hết thì không thể níu kéo bằng sự ích kỷ của một trong hai người được...Không một lời trách móc nặng nhẹ chỉ là một câu hỏi cũng đủ để cô gái nhận ra cô là người có lỗi, nhưng không vì thế mà chàng trai lại đang tâm đổ xuống cô tất cả . Cố tìm một lời biện minh cho kẻ ra đi, cố tìm lấy một lý do để có thể tự nhủ cho những hành động của cô gái. Xét đến cùng chàng trai vẫn còn yêu cô cơ mà, thế thì làm sao chàng có thể nhìn thấy nàng đau khổ được, dù cho người nàng yêu lúc này không còn là chàng nữa, dù cho cái tình yêu của nàng đối với chàng đã hết, thì có nghĩa gì đâu, bởi dù sao nó cũng đã là tình cảm một thời của hai người. Có lẽ sẽ đau khi nhìn thấy nàng rời bỏ mình để ra đi, nhưng tình yêu của chàng trai là mong mỏi cho cô gái được hạnh phúc kia mà, dù là hạnh phúc bên một kẻ nào đó không phải là chàng thì ... chỉ cần nhìn thấy nàng hạnh phúc có lẽ cũng đủ làm chàng thấy ấm lòng rồi.

"...Forever and one I will miss you

However, I kiss you yet again

Way down in Neverland..."
"Mãi mãi không hề đổi thay...anh sẽ luôn nhớ đến em ...Dù rằng nụ hôn ta chưa hề trao nhau thêm một lần nào nữa ... Trên con đường về Neverland ..."Càng cố gắng xua đi hình bóng của nàng, những ký ức ngọt ngào vẫn nào buông tha, kỷ niệm êm đềm quá , mong manh quá nên bây giờ đã vỡ tan... Nhìn thực tại, phủ nhận thực tai bằng những hình ảnh ngày xưa nay đã không thể còn có nữa... Chàng trai đã không thế làm hoen mờ mối tình của mình bằng những lời cay đắng, mà là những hình ảnh đẹp đẽ, nhưng cũng vì thế nó càng mang lại cay đắng, buồn thương mỗi lần quá khứ xưa hiện về... Vỡ oà ... trong đáy mắt của kẻ ở lại...

"...So hard I was trying

Tomorrow I'll still be crying

How could you hide your lies

Your lies..."
"Thật là khó khăn anh cũng phải cố ... cố gằng gượng dậy.Dù cho ngày mai nước mắt vẫn còn thấm đẫm... lăn dài... Làm sao em có thể che dấu những lời dối trá..." Đến bây giờ đây tâm trạng mới vỡ oà, mới được bộc bạch, chàng trai chỉ có thể trách nàng đã không thể nói lên với chàng sự thật, chàng không trách nàng vì tình yêu đã hết, chỉ trách sao nàng không một lần thẳng thắn với nhau... Để giờ này chàng bỗng chốc nhận ra thì mọi thứ đều đột ngột đổi thay...Khi tình yêu đã hết nàng không nên che dấu bằng mặc cảm tội lỗi, không nên dối trá nhau để cố gắng yêu thương... Có lẽ chàng trách nàng đã không đủ dũng khí khi nói lên sự thật, để đến giờ này tất cả là thương mang... Chàng sẽ chẳng ích kỷ đến nỗi níu kéo tình yêu trong cô khi tất cả đều không còn, khi tất cả đều lụi tàn, thì làm sao có thể cứu vãn nỗi...



"...Here I am

Seeing you once again

My mind's so far away

My heart's so close to stay

Too proud to fight

I'm walking back into night

Will I ever find someone to believe?"
"Đây là lần cuối anh nhìn em, một lần sau cuối... Bởi trong anh tất cả đã xa xôi lắm rồi, trái tim anh đã quá đóng chặt... để có thể là nơi nương náu ..." . Chấp nhận những tình cảm đã đổi thay, chấp nhận rằng anh mất em, chấp nhận chẳng còn gì nữa giữa hai ta, anh đành phải tự tìm cho mình một nơi để có thể tự chữa lành vết thương lòng... Bây giờ mọi thứ có lẽ đều quá khó khăn đối với anh . Thế nên chàng trai chỉ còn có thể mong thời gian sẽ chữa lành tất cả...Cuộc sống sẽ vẫn cứ êm trôi , những đau thương nằm lại ở quá khứ...phía trước mong một ngày nào đó khi bình tâm trở lại, chàng trai lại có thể tiếp tục những ngày tháng dài ở tương lai, xua đi những u ám , buồn khổ đằng sau. .." Tìm lại cho chính mình một niềm tin đã đánh mất".