OMDを使った監視サーバ構築(前編)
OMD(Open Monitoring Distribution)]を使って監視サーバを構築してみます。
Open Monitoring Distribution - Wiki - OMD
OMDってなに?
こちらは公式サイトからの引用です。
Welcome to OMD - the Open Monitoring Distribution. OMD implements a completely new concept of how to install, maintain and update a monitoring system built on Nagios.
OMD avoids the tedious work of manually compiling and integrating Nagios addons while at the same time avoiding the problems of pre-packaged installations coming with your Linux distribution, which are most times outdated and provide no regular updates.
Nagiosとそのアドオンを用いた監視システムを構築するためのディストリビューションで、2012/07現在、下記のソフトウェアで構成されます。
- nagios
- nagios-plugins
- nsca
- check_nrpe
- Icinga
- Shinken
- nagvis
- pnp4nagios
- rrdtool/rrdcached
- Check_MK
- MK Livestatus
- Multisite
- dokuwiki
- Thruk
- Mod-Gearman
- check_logfiles
- check_oracle_health
- check_mysql_health
- jmx4perl
- check_webinject
- check_multi
OMDを使うと面倒な設定をせずに監視サーバの初期構築ができて便利です。
ソフトウェアのバージョンアップもOMDに任せることができます。
インストール方法
Debian, Ubuntu, CentOS, RedHat, Suseではレポジトリからインストールすることが可能です。
OMD Repository – ConSol* Labs
CentOS 6の場合はこんな感じで実行します。
$ sudo sh -c "wget -O - http://labs.consol.de/OMD/rh60/stable/omd.repo > /etc/yum.repos.d/omd.repo" $ sudo yum install omd-0.54
サイト作成
実際に監視サーバを作成してみます。(OMDでは site とよびます)
$ sudo omd create hoge Adding /omd/sites/hoge/tmp to /etc/fstab. Creating temporary filesystem /omd/sites/hoge/tmp...OK Created new site hoge with version 0.54. The site can be started with omd start hoge. The default web UI is available at http://example.com/hoge/ The admin user for the web applications is omdadmin with password omd. Please do a su - hoge for administration of this site.
これで hoge ユーザが作成され、監視システム構築の準備が整いました。
今後は hoge ユーザにスイッチして作業を進めます。
OMDの使い方
基本的には作成したサイトのユーザにスイッチしてから omd コマンドで各種命令を実行します。
OMD[hoge]:~$ omd help Usage (called as site user): omd help Show general help omd version [SITE] Show version of OMD omd versions List installed OMD versions omd sites Show list of sites omd update Update site to other version of OMD omd start [SERVICE] Start services of one or all sites omd stop [SERVICE] Stop services of site(s) omd restart [SERVICE] Restart services of site(s) omd reload [SERVICE] Reload services of site(s) omd status [SERVICE] Show status of services of site(s) omd config ... Show and set site configuration parameters omd diff ([RELBASE]) Shows differences compared to the original version files omd umount Umount ramdisk volumes of site(s) General Options: -V <version> set specific version, useful in combination with update/create omd COMMAND -h, --help show available options of COMMAND
- 特定のユーザにスイッチした場合はそのサイトだけ影響を受けます
- rootユーザの場合、すべてのサイトのサービスをいっぺんに操作できます
- ただし、すべてのコマンドが実行できるわけではありません(たとえばconfig, diffなどは不可)
OMDの設定変更
$ omd config
を実行することでOMD自体の設定ができます。
なお、設定を変更する際にいったんそのサイトのサービスが止まるので気をつけてください。
Basic
- AUTOSTART
ONにするとOMDが起動する時にそのサイトも起動させることができます。
- CORE
利用する監視システムを指定する。
Nagios, Icinga, Shinkenからお好みで。
- CRONTAB
サイト固有のcrontabを有効にする場合ONにする。
- TMPFS
テンポラリファイルのためにラムディスクを利用する場合ONにする。
Web GUI
- APACHE_MODE
Apacheをサイトごとに個別に起動させる、システムのApacheを利用する、Webサーバを利用しないの3つから選択する。
- DEFAULT_GUI
サイトのWebページにアクセスした際にデフォルトで表示させるGUIを選択する。
Nagios, Icingaなどなどお好みで。
- DOKUWIKI_AUTH
ユーザ管理にDokuwikiを使う場合にONにする。
Addons
MySQLを使うアドオンで、サイトごとに別々のMySQLを起動させたい場合ONにする。
- NAGVIS_URLS
NagVisとリンクさせるGUIを選択する。
- PNP4NAGIOS
パフォーマンスデータの処理にPNP4Nagiosを利用する場合ONにする。
PNP4Nagiosは取得したデータをもとにグラフを作ってくれます。
Distributed Monitoring
- LIVESTATUS_TCP
- MOD_GEARMAN
- NSCA
それぞれ利用したい場合はONにする。
これで監視サーバの構築が終わりました。
次回は実際に設定追加等をやってみます。
Vyatta,NetScreenでの拠点間VPN設定(後編)
前編に引き続き、今回はNetScreen側での設定方法。
構成は前回と同様です。
VPN設定についてはルートベースにしました。
初期設定
シリアルケーブルで接続するか、Trust側のインタフェースに接続してDHCP経由でIPアドレスを取得してtelnetで接続します。
まずuntrustインタフェースのIPアドレス設定とルーティング設定をします。
今回はtrustについてはデフォルトのまま使うので変更しません。
ns5gt-> set interface untrust ip 192.168.0.254/24 ns5gt-> set route 0.0.0.0/0 gateway 192.168.0.1
トンネルインタフェース作成
トンネルインタフェースと、ゾーンを作成します。
ns5gt-> set zone name VPN
次にトンネルインタフェースを作成します。
ゾーンは先程作成したものを指定します。
ns5gt-> set interface tunnel.1 zone VPN
トンネルインタフェースのIPをunnumberedに設定し、untrustインタフェースを割り当てます。
ns5gt-> set interface tunnel.1 ip unnumbered interface untrust
確認するとこんな感じになります。
ns5gt-> get interface A - Active, I - Inactive, U - Up, D - Down, R - Ready Interfaces in vsys Root: Name IP Address Zone MAC VLAN State VSD trust 192.168.1.1/24 Trust 0010.db85.a6a2 - U - untrust 192.168.0.254/24 Untrust 0010.db85.a6a1 - U - serial 0.0.0.0/0 Null 0010.db85.a6a6 - D - tun.1 unnumbered VPN untrust - D - vlan1 0.0.0.0/0 VLAN 0010.db85.a6af 1 D - null 0.0.0.0/0 Null N/A - U 0
VPN設定
PHASE 1設定。
pre shared key, proposalはvyattaで設定したものと同様に。
ns5gt-> set ike gateway vyatta-gw address 10.0.0.254 Main outgoing-interface untrust preshare presharedkey proposal pre-g2-aes128-sha
PHASE 2設定。
proposalはvyattaと同様にし、先程作成したトンネルインタフェースをバインドします。
ns5gt-> set vpn vyatta-ike gateway vyatta-gw no-replay tunnel idletime 0 proposal g2-esp-aes128-sha ns5gt-> set vpn vyatta-ike monitor source-interface trust destination-ip 10.0.100.1 rekey ns5gt-> set vpn vyatta-ike id 1 bind interface tunnel.1 ns5gt-> set vpn vyatta-ike proxy-id local-ip 192.168.1.0/24 remote-ip 10.0.100.0/24 ANY
以上の設定が適用されればIPsec SAがアクティブになるはずです。
ns5gt-> get sa active Total active sa: 1 total configured sa: 1 HEX ID Gateway Port Algorithm SPI Life:sec kb Sta PID vsys 00000001< 10.0.0.254 500 esp:a128/sha1 13a4ad0b 3563 unlim A/U -1 0 00000001> 10.0.0.254 500 esp:a128/sha1 b73f1236 3563 unlim A/U -1 0
ルーティング設定
VPN向けのルーティング設定です。
宛て先はトンネルインタフェースになります。
ns5gt-> set route 10.0.100.0/24 interface tunnel.1
ポリシー設定
最後にお好みでポリシー設定をします。
下記は全解放にしています。 :-)
ns5gt-> set policy from trust to VPN any any any permit ns5gt-> set policy from VPN to trust any any any permit ns5gt-> save
動作確認
それぞれのルータ配下のマシンからPINGでも打って動作確認します。
ns5gt-> ping 10.0.100.1 from trust Type escape sequence to abort Sending 5, 100-byte ICMP Echos to 10.0.100.1, timeout is 1 seconds from trust !!!!! Success Rate is 100 percent (5/5), round-trip time min/avg/max=3/3/4 ms
Vyatta,NetScreenでの拠点間VPN設定(前編)
Vyatta 6.3とJuniper NetScreen 5GTを用いて拠点間VPN設定をしてみます。
Vyatta | VYATTA CORE 6.3 - VC6.3-2011.07.21 |
Juniper NetScreen 5GT | ScreenOS 5.4.0r5.0 |
NetScreenの機種、バージョンが古いですが現行バージョンでも基本的には同じ設定でいけるはずです。
ネットワーク構成は下記の通りとしました。
初期設定
まず、コンソール経由でVyattaへアクセスし、IPアドレス、ルーティング設定とSSHの有効化をします。
vyatta@vyatta:~$ configure [edit] vyatta@vyatta# set interfaces ethernet eth0 address 10.0.0.254/24 vyatta@vyatta# set interfaces ethernet eth1 address 10.0.100.1/24 vyatta@vyatta# set protocols static route 0.0.0.0/0 next-hop 10.0.0.1 vyatta@vyatta# set service ssh vyatta@vyatta# top vyatta@vyatta# commit
以降はSSH経由で設定します。
VPN設定
まず外部向けのインタフェースでVPNを有効にします。
vyatta@vyatta# set vpn ipsec ipsec-interfaces interface eth0
PHASE 1設定。
vyatta@vyatta# edit vpn ipsec ike-group ns-ike proposal 1 vyatta@vyatta# set lifetime 28800 vyatta@vyatta# set proposal 1 dh-group 2 vyatta@vyatta# set proposal 1 encryption aes128 vyatta@vyatta# set proposal 1 hash sha1 vyatta@vyatta# top
PHASE 2設定
vyatta@vyatta# edit vpn ipsec esp-group ns-esp vyatta@vyatta# set lifetime 3600 vyatta@vyatta# set pfs enable vyatta@vyatta# set proposal 1 encryption aes128 vyatta@vyatta# set proposal 1 hash sha1 vyatta@vyatta# top
最後にpreshared keyなどを設定して終わり。
vyatta@vyatta# edit vpn ipsec site-to-site peer 192.168.0.254 vyatta@vyatta# set authentication mode pre-shared-secret vyatta@vyatta# set authentication pre-shared-secret 'presharedkey' vyatta@vyatta# set ike-group ns-ike vyatta@vyatta# set local-ip 10.0.0.254 vyatta@vyatta# set tunnel 1 esp-group ns-esp vyatta@vyatta# set tunnel 1 local subnet 10.0.100.0/24 vyatta@vyatta# set tunnel 1 remote subnet 192.168.1.0/24 vyatta@vyatta# commit vyatta@vyatta# save
VPN部分のコンフィグはこんな感じになります。
vyatta@vyatta# show vpn ipsec esp-group ns-esp { lifetime 3600 pfs enable proposal 1 { encryption aes128 hash sha1 } } ike-group ns-ike { lifetime 28800 proposal 1 { dh-group 2 encryption aes128 hash sha1 } } ipsec-interfaces { interface eth0 } site-to-site { peer 192.168.0.254 { authentication { mode pre-shared-secret pre-shared-secret presharedkey } ike-group ns-ike local-ip 10.0.0.254 tunnel 1 { esp-group ns-esp local { subnet 10.0.100.0/24 } remote { subnet 192.168.1.0/24 } } } }
APIで遊んでみる
さくらのクラウドのAPIが公開されているので遊んでみる。
サンプルのコードはPerlだけど、勉強のためRubyに。
アクセストークンなどはコントロールパネルの「設定」=>「APIキー管理」で取得したものを使う。
#!/usr/bin/env ruby require 'net/https' require 'uri' require 'json' access_token = "XXXXXXXXXX" access_token_secret = "XXXXXXXXXXXXXXXXXXXXX" uri = URI.parse("https://secure.sakura.ad.jp/cloud/api/cloud/0.2/server/") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE body = http.start { |http| req = Net::HTTP::Get.new(uri.path) req.basic_auth(access_token, access_token_secret) http.request(req).body } puts JSON.pretty_generate(JSON.parse(body))
実行するとこんなかんじ。
{ "From": 0, "Count": 2, "Total": 2, "Servers": [ { "Index": 0, "ID": "XXXXXXXX", "Name": "Fedora", "HostName": "localhost", "Description": "Fedora15", "CreatedAt": "2011-11-25T10:28:31+09:00", "Icon": { "ID": "XXXXXXXXXXX", "URL": "https://secure.sakura.ad.jp/cloud/api/cloud/0.2/icon/112300511983.png", "Name": "Fedora", "Scope": "shared" }, "ServerPlan": { "ID": 1, "Name": "プラン1", "CPU": 1, "MemoryMB": 2048, "ServiceClass": "cloud/plan/1" },......
あとでちゃんとしたものを作っておこう。
NDOUtilsのインストール
NDOUtilsではNagiosのデータをデータベースに格納して管理することができます。
詳細は公式サイトを参照してください。
http://exchange.nagios.org/directory/Addons/Database-Backends/NDOUtils/details
下記はサイトからの引用です。
NDOUtils allows you to export current and historical data from one or more Nagios instances to a MySQL database. Several community addons use this as one of their data sources. NDOUtils consists of a standalone daemon, a Nagios event broker, and several helper utilities.
コンパイル、インストール
$ curl http://jaist.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz | tar zxv $ cd ndoutils-1.4b9 $ ./configure *** Configuration summary for ndoutils 1.4b9 10-27-2009 ***: General Options: ------------------------- NDO2DB user: nagios NDO2DB group: nagios Review the options above for accuracy. If they look okay, type 'make' to compile the NDO utilities. $ make $ sudo make install Hint: NDOUtils Installation against Nagios v3.x completed. If you want to install NDOUtils for Nagios v2.x please type 'make install-2x Next step should be the database initialization/upgrade cd into the db/ directory and either: ./installdb (for a new installation) or: ./upgradedb (for an existing one) make[1]: ディレクトリ `/usr/local/src/ndoutils-1.4b9/src' から出ます Main NDOUtils components installed
データベース作成
次にNDOUtilsで利用するデータベース、ユーザ、パスワードを設定します。(いずれもndoutilsとしました)
READMEには下記の記述があるため権限は制限しました。
2. Create a username/password that has at least the following privileges for the database:
SELECT, INSERT, UPDATE, DELETE
mysql> CREATE DATABASE ndoutils; Query OK, 1 row affected (0.00 sec) mysql> GRANT SELECT,INSERT,UPDATE,DELETE -> ON ndoutils.* -> TO ndoutils@localhost -> IDENTIFIED BY 'ndoutils'; Query OK, 0 rows affected (0.01 sec)
次にテーブルを作成します。
failedと出ていますが気にしないでおきます :-)
$ cd db $ ./installdb -u root -p "" -h localhost -d ndoutils DBD::mysql::db do failed: Table 'ndoutils.nagios_dbversion' doesn't exist at ./installdb line 51. ** Creating tables for version 1.4b9 Using mysql.sql for installation... ** Updating table nagios_dbversi
モジュール、コンフィグファイルのコピー
broker moduleのコピー。
$ sudo cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o $ sudo cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg $ sudo chown nagios:nagios /usr/local/nagios/etc/ndomod.cfg
nagiosがbroker moduleを読み込むように設定。
$ sudi vi /usr/local/nagios/etc/ndomod.cfg broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
ndo2dbのコピー。
$ sudo cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db $ sudo cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg $ sudo chown nagios:nagios /usr/local/nagios/etc/ndo2db.cfg
ndo2dbの設定を先ほど作成したデータベース情報に変更。
$ sudo vi /usr/local/nagios/etc/ndo2db.cfg db_name=ndoutils db_user=ndoutils db_pass=ndoutils
ndo2dbデーモンの起動設定。
$ sudo cp daemon-init /etc/init.d/ndoutils $ sudo chmod 755 /etc/init.d/ndoutils $ sudo chkconfig ndoutils on
最後にndo2db,nagiosを起動して終わりです。
$ sudo service ndoutils start $ sudo service nagios restart
動作確認
正常に動作していればnagiosのログ(/usr/local/nagios/var/nagios.log)に
こんな感じで表示されているはずです。
[1326691682] Nagios 3.3.1 starting... (PID=14465) [1326691682] Local time is Mon Jan 16 14:28:02 JST 2012 [1326691682] LOG VERSION: 2.0 [1326691682] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors [1326691682] ndomod: Successfully connected to data sink. 0 queued items to flush. [1326691682] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully. [1326691682] Finished daemonizing... (New PID=14469)
また、MySQLにもデータが格納されます。
mysql> SELECT * FROM ndoutils.nagios_hosts\G *************************** 1. row *************************** host_id: 2 instance_id: 1 config_type: 1 host_object_id: 1 alias: oreore.dtdns.net display_name: oreore.dtdns.net address: 127.0.0.1 check_command_object_id: 13 check_command_args: eventhandler_command_object_id: 0 eventhandler_command_args: notification_timeperiod_object_id: 43 check_timeperiod_object_id: 2 failure_prediction_options: check_interval: 1 retry_interval: 1 max_check_attempts: 10 first_notification_delay: 0 notification_interval: 120 notify_on_down: 1 notify_on_unreachable: 1 notify_on_recovery: 1 notify_on_flapping: 0 notify_on_downtime: 0 stalk_on_up: 0 stalk_on_down: 0 stalk_on_unreachable: 0 flap_detection_enabled: 1 flap_detection_on_up: 1 flap_detection_on_down: 1 flap_detection_on_unreachable: 1 low_flap_threshold: 0 high_flap_threshold: 0 process_performance_data: 1 freshness_checks_enabled: 0 freshness_threshold: 0 passive_checks_enabled: 1 event_handler_enabled: 1 active_checks_enabled: 1 retain_status_information: 1 retain_nonstatus_information: 1 notifications_enabled: 1 obsess_over_host: 1 failure_prediction_enabled: 1 notes: notes_url: action_url: icon_image: icon_image_alt: vrml_image: statusmap_image: have_2d_coords: 0 x_2d: -1 y_2d: 0 have_3d_coords: 0 x_3d: 0 y_3d: 0 z_3d: 0 1 row in set (0.00 sec)
nginx + Nagios のインストール(後編)
前編に続き、今回はNagiosのWebコンソール表示に必要な設定をしていきます。
configureスクリプトを実行した時に表示されていたように、/nagiosへのエイリアスを設定します。
これです。
Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/ Traceroute (used by WAP): /bin/traceroute
nginxのコンフィグに下記の通り追記します。
$ sudo vi /etc/nginx/conf.d/default.conf server { .... .... .... location /nagios { alias /usr/local/nagios/share; index index.php; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; } }
Basic認証設定
Basic認証のパスワードファイルを作成します。
なお、ここで設定したユーザIDについてはWebコンソールでのアクセス制御に用います。
# sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
ちなみに、ディストリビューションのバージョンによってはデフォルトでCryptを使った暗号化がされるので気をつけてください。
長いパスワードを設定しても9文字目からは効果がありません。
※Fedora16ではMD5がデフォルトになっているので問題ありません
PHP関連の設定
nginxはデフォルトのままではPHPを処理してくれないので、php-fpmを使って設定してみます。
user, groupがapacheになっているのでnginxへと書き換えます。
$ sudo vi /etc/php-fpm.d/www.conf user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
次にnginxの設定も変更します。
$ sudo vi /etc/nginx/conf.d/default.conf location ~ ^/nagios/(.*\.php)$ { alias /usr/local/nagios/share/$1; include /etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1:9000; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; }
後はphp-fpmの起動、nginxの再起動を実施します。
$ sudo systemctl start php-fpm.service $ sudo systemctl restart nginx.service
CGI関連の設定
CGIの実行にはspawn-fcgiとfcgiwrapを用います。
まずはfcgiwrapをインストールします。
$ git clone git://github.com/gnosek/fcgiwrap.git $ cd fcgiwrap $ autoreconf -i $ ./configure && make && sudo make install
続いてspawn-fcgiの設定をします。
$ sudo vi /etc/sysconfig/spawn-fcgi FCGI_SOCKET=/var/run/fcgiwrap.socket FCGI_PROGRAM=/usr/local/sbin/fcgiwrap FCGI_USER=nginx FCGI_GROUP=nginx FCGI_EXTRA_OPTIONS="-M 0700" OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"
spawn-fcgiを起動して
$ sudo systemctl start spawn-fcgi.service
nginxに設定を追加して
$ sudo vi /etc/nginx/conf.d/default.conf location ~ ^/nagios/(.*\.cgi)$ { root /usr/local/nagios/sbin/; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user; include /etc/nginx/fastcgi.conf; fastcgi_pass unix:/var/run/fcgiwrap.socket; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; }
nginxを再起動して終わり。
$ sudo systemctl restart nginx.service
これでひと通りの設定が終わりました。
自動起動設定
最後にnginx, php-fpm, spawn-fcgiの自動起動設定をします。
$ sudo systemctl enable nginx.service php-fpm.service spawn-fcgi.service $ sudo chkconfig nagios on
nagiosのみchkconfigを用いていますが、他もchkconfigで問題ありません。
native serviceではないということで結局はchkconfigが実行されます。
nginx.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig nginx on
これでnginx + Nagios を用いた監視サーバの構築ができました。
今後は監視で取得したデータのグラフ化やNagios設定のカスタマイズ、監視設定等について書いていこうと思います。
はーどでぃすく
とあるサーバのハードディスクの容量が7.999ZBに到達した。
ディスク周りの故障があってパーツ交換待ちなんだけど、今日はファイルシステムがread-onlyになって色々おかしくなった。
OS再起動で復旧したけど不安でしかたないな('A`)
Adapter #0 Enclosure Device ID: 32 Slot Number: 0 Device Id: 0 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 PD Type: SAS Raw Size: 0 KB [0x0 Sectors] Non Coerced Size: 7.999 ZB [0xfffffffffff00000 Sectors] Coerced Size: 0 KB [0x0 Sectors] Firmware state: Unconfigured(bad) SAS Address(0): 0x5000c5000d2df3b9 SAS Address(1): 0x0 Connected Port Number: 0(path0) Inquiry Data: SEAGATE ST3500620SS XXXXXXXXXXXXXXX FDE Capable: Not Capable FDE Enable: Disable Secured: Unsecured Locked: Unlocked Foreign State: None Device Speed: Unknown Link Speed: Unknown