Perşembe, Haziran 18, 2015

Cisco Mimarisi (MSFC, PFC, CFC, DFC)

Cisco Mimarisindeki Bileşenler ve Görevleri


MSFC (Multilayer Switch Feature Card)

     Multilayer Switch Feature Card is the Layer 3 switching engine that sites on the Catalyst Supervisor as a daughter card.
     The control plane functions in the Cisco Catalyst 6500 are processed by the MSFC and include handling Layer 3 routing protocols, maintaining the routing table, some access control, flow initiation, and other services not found in hardware.

 PFC (Policy Feature Card)

     The PFC3 is the ASIC-based forwarding engine daughtercard for the Sup720; the DFC3 is the ASIC-based forwarding engine daughtercard for various fabric-enabled linecards (CEF256, CEF720). Contains the ASICs that are used to accelerate Layer 2 and Layer 3 switching, store and process QoS and security ACLs, and maintain NetFlow statistics.

Role of PFC Layer 3 Engine


  • NetFlow Statistics collection.
  • Hardware based forwarding of IPv4, IPv6 and MPLS tagged packets.
  • QoS mechanism for ACL classification, marking of packets, and policing (rate limiting).
  • Security mechanism for validating ACL rules against incoming packets.
  • Maintaining Adjacency entries and statistics.
  • Maintaining Security ACL counters.

CFC (Centralized Forwarding Card)

     CFC is a centralized forwarding card for the switching modules which makes IPv4 Routing over the PFC. CFC does not do local forwarding, the forwarding is done by the PFC in the Supervisor. As the forwarding is centralized, the PFC performance, FIB entries, ACL lables are shared among the line cards that uses the Supervisor PFC for forwrding.

DFC (Distributed Forwarding Card)

     The Catalyst 6500 architecture supports the use of Distributed Forwarding Cards (DFC). Distributed Forwarding Card is a combo daughter card comprising a MSFC and PFC used by a fabric enabled Cat6500 linecard to perform distributed switching. DFCs are located in linecards, not in Supervisors.


Kaynak:

Pazartesi, Mart 16, 2015

Linux İşletim Sisteminde İşlemci Bilgileri

Linux işletim sisteminde işlemci bilgilerini elde etmek için;

1. lshw -class processor

2. lscpu

3. cat /proc/cpuinfo

Aşağıdaki betik de kullalabilir.

#!/bin/bash

CAT="/bin/cat"
GR="/bin/grep"
SORT="/bin/sort"
WC="/usr/bin/wc"
UQ="/usr/bin/uniq"
CUT="/bin/cut"
TR="/usr/bin/tr"

CPU_N=$($CAT /proc/cpuinfo | $GR "physical id" | $SORT | $UQ | $WC -l) # Number of CPUs

# CPU COREs
CORE_N=$($CAT /proc/cpuinfo | $GR "cpu cores" | $UQ | $CUT -d: -f 2 | $TR -d " ") # Number of COREs

# HyperTread YES/NO
HT=$($CAT /proc/cpuinfo | $GR "siblings" | $SORT | $UQ | $CUT -d: -f 2 )
clear
printf "==================================\n"
if [ "${HT}" -gt "${CORE_N}" ]; then 
 printf "\e[1;32mHyperThread is enabled.\e[0m\n"
 HTCHECK=1
else
 printf "\e[1;31mHyperThread is disabled.\e[0m\n"
 
fi

PCOREs=$(bc -l <<<$CPU_N*$CORE_N)
VCOREs=$(bc -l <<<$CPU_N*$HT)

printf "Number of physical CPUs\t\t: %s\n" $CPU_N
printf "Number of COREs per CPU\t\t: %s\n" $CORE_N
printf "Total number of physical COREs \t: %d\n" $PCOREs

if [ $HTCHECK ]; then
 printf "Total number of virtual COREs \t: %d\n" $VCOREs
else
 printf "There are no virtual COREs\n"
fi
printf "==================================\n"

Çarşamba, Şubat 25, 2015

CACTI Kurulumu ve Yapılandırılması


Rrdtool, farklı kaynaklardan aldığı verileri saklamak ve organize etmek için kullanılan bir araçtır. Çok güçlü ve çok fazla esnek olan bu araç komut satırından kullanılması kimi zaman karmaşık hale gelebilmektedir. Bu karmaşıklığı azaltmak ve kullanımını kolaylaştırmak için CACTI web yönetim arayüzü geliştirilmiştir.

Aşağıda CACTI'nin CentOS 7 üzerindeki kurulumu ve yapılandırılması kullanılacaktır.

CACTI kayak kodtan kurulabildiği gibi RPM paketlerden de kurulabilmektedir. Burada RPM paketleri ile kurulumu gösterilecektir.

CACTI kurulumu için öncelikle kaynak kodun derlenip konduğu EPEL deposu eklenir.

# yum install epel-release -y

CACTI kurulumu için aşağıdaki komut çalıştırılır. Bu komut ile gerekli olan paketler ve bağımlı paketler kurulur:

# yum install cacti rrdtool net-snmp-utils httpd php

Veri tabanı kurulur:

# yum install mariadb mariadb-server

Kurulumlar tamamdıktan sonra yapılandırma aşamasına geçilir Öncelikle veritabanı yapılndırılır:

# systemctl start mariadb
# mysqladmin -u root password
New password: ******
Confirm new password: ******

CACTI veritabanı oluşturulur ve gerekli tablolar oluşturulur:

# mysqladmin -u root create cacti -p
# mysql -u root -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql

CACTI veritabanı için bir kullanıcı oluşturulur ve cacti veritabanı için gerekli (tüm) izinler verilir:

# mysql -u root -p
MariaDB [(none)]> CREATE USER cuser@localhost IDENTIFIED BY '123qwe';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cacti.* TO 'cuser'@'localhost';
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit;

PHP'nin veritabanı erişimi için yapılandırılması yapılır:

# cd /usr/share/cacti
# vim include/config.php

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cuser";
$database_password = "123qwe";
$database_port = "3306";
$database_ssl = false;

Kurulum yapılan sunucu üzerinde bir web tarayıcısı açılarak aşağıdaki adresten yapılandırma arayüzüne erişilir. Sonrasında aşağıdaki adımlar izlenerek web yapılandırması tamamlanır. Eksik uygulamalar kurularak uyarılar giderilir. Açılan giriş sayfasına admin/admin ile ilk giriş yapılır. İlk girişten sonra şifrenin değiştirilmesi istenir.

firefox http://localhost/cacti
 

İlk giriş yapıldıktan sonra izlenecek donanımların eklenmesi adımına geçilir. Ana ekranda Devices/Add seçilir ve izlenecek donanım temel bilgi giriş ekranı gelir.


Burada gerekli bilgiler girilir.

GENERAL HOST OPTIONS
  Description (Donanım için kısa tanım.)

  Hostname (IP adresi ve FQDN)

  Host Template (Daha önceden benzer donanımlar için tanımlanmış grafik ve veri kaynaklarını içerir. Böylece seçilen benzer donanımlar için istenen tüm grafikler oluşturulur.)

SNMP OPTIONS

Burada SNMP erişimi için gerekli ayarlar yapılır.
NOT : İzlenecek donanımda SNMP yapılandırması gerçekleşmiş olması gerekir.



Komut Satırı ile İşlemler


Donanım Ekleme:  

Önce listeleme komutu kullanılarak template ve community bilgiler alınır.

# php -q add_device.php --list-host-templates
# php -q add_device.php --list-communities

Daha sonra gerekli bilgiler (zorunlu ve seçimlik) girilerek komut işletilir.

# php -q add_device.php --description="sunucusu 01" --ip="1.1.1.1" --template=10 --community="public"

İlgili Veri Sorgulama Yönteminin Belirlenmesi

Önce donanım/host listesi alınır ve ilgili donanım/host ID si öğrenilir.
# php -q add_data_query.php --list-hosts

Veri sorgulama yöntemleri listelenerek kullanılacak yöntemin ID si öğrenilir.
# php -q add_data_query.php --list-data-queries

Daha sonra ilgili donanım/host için sogulama yöntemi ilişkilendirilir.
# php -q add_data_query.php --host-id=60 --data-query-id=1 --reindex-method=fields
# php -q add_data_query.php --host-id=60 --data-query-id=5 --reindex-method=fields

Grafik Şablon (Template) İlişkilendirilmesi

Donanım/host listesi alınır:

# php -q add_graph_template.php --list-hosts

Şablon listesi alınır:

# php -q add_graph_template.php --list-graph-template

İstenen Donanım/host a şablon ilişkilendirilmesi.

# php -q add_graph_template.php --host-id=11 --graph-template-id=7
# php -q add_graph_template.php --host-id=11 --graph-template-id=8
# php -q add_graph_template.php --host-id=11 --graph-template-id=9
 
 
Oluşturulacak Grefiklerin Belirlenmesi
 
 
 

Donanımlar İçin Listeleme (Tree) Yapısının Oluşturulması

 

Listeleme

Donanımlar bir ağaç yapısı içerisinde listelenir. Arzu edilirse alt dallar oluşturularak donanımlar türlerine göre sınıflandırılabilirler.
 
Öncelikle mevcut yapı görüntülenir: 

# php -q add_tree.php --list-trees
 
Known Trees:
id      sort method                     name
1       Manual Ordering (No Sorting)    Default Tree
2       Manual Ordering (No Sorting)    Ağ Donanımları
...

Ağaç yapısına eklenecek donanımların listelenmesi:

# php -q add_tree.php --list-hosts
 
 
Ağaç yapısı içerisinde belli bir gruba ait donanımların listelenmesi:

# php -q add_tree.php --list-nodes --tree-id=2
 
Known Tree Nodes:
type    id      parentid        title   attribs
Host    8       N/A     172.16.0.2      Graph Template
...

Ekleme


Köke dizin ekleme:

# php -q add_tree.php --type=tree --name="deneme" --sort-method=manual
Tree Created - tree-id: (7)


Alt dizin oluşturma:

#php -q add_tree.php --type=node --node-type=header --tree-id=7 --name="Alt Başlık Deneme"

Alt dizine donanım ekleme:

# php -q add_tree.php --tree-id=7 --parent-node=134  --type=node --node-type=host --host-id=85

Kaynak:
http://www.cacti.net/downloads/docs/html/cli_add_tree.html