SNMP Agent에서 이러한 정보들을 알 수 있을까요?

najjack의 이미지

SNMP Agent에서 복수의 이더넷 카드중 한개가 동작을 안한다거나(예를 들어 랜포트가 빠진경우), 또는 이중화 되어 있는 전원 중 한개가 동작 정지 했다는 정보를 알 수 있습니까?
Manager쪽에서 Agent의 상태를 파악 하는 것이 아니라, Agent 자체가 자기 시스템에서의 위와 같은 상황이 발생했을 때, 이를 감지할 수 있느냐 하는 문제입니다.
혹시 이에 대해서 아시는 분 있으시면 답변해 주시면 고맙겠습니다.

코퍼스의 이미지

해당 기능에 대한 것을 구현만 해 놓으면 당연히 알 수 있지요..
우선 snmp 입니까? snmp trap 에 대해서인가요?
이것 부터 우선해야 되겠고..
해당 정보에 대한 것을 어떤 mib으로 해야 되는가 정해야 되겠지요..
(아마 snmp 관련 책에서 interface 항목을 살펴보시면 되겠지요)

우선 님께서는 SNMP 관련 서적을 한권 정해서 읽어보시길 권합니다.
(일단 전문적 서적도 필요하지만 개요만 포함되어 있는 서적도 꽤 많지요.. 네트워크 트러블슈팅 관련 책에도 잘 나와 있답니다.)

A few Good Man

najjack의 이미지

nets-snmp를 보니깐 interface 항목에 ethernet 카드에 대한 감시 기능을 설정할 수 있는 것으로 보이는데요, 이렇게 설정하는 것을 말씀하시는게 맞으신지요.
제가 필요한 기능은 agent가 자체적으로 ethernet 카드에 이상이 발생하거나, 전원 공급 장치에 이상이 생겼을때, 이를 같은 시스템 내의 다른 데몬에 알려주려고 합니다.(snmp 프로토콜이 아니라,,,)

정확히는 snmp agent가 반드시 알아야만 하는 것은 아니지만, 어떤 방법을 통해서든 위와 같은 현상이 발생했을때 캡쳐하기만 하면 됩니다.
그런데 누군가, snmp에서 자동으로 알아낼수 있지 않느냐고 해서, 찾다보니 ethernet쪽은 있는 것 같은데, 전원쪽은 어떻게 알아내야 할지 잘 모르겠네요..

SNMP에 대해서 알고싶은게 많네요

swellee의 이미지

SNMP Agent 건드려 본 지가 1년이 넘었고, 제 기억력이 닭에 가까워서서 가물가물 합니다만 SNMP Agent의 정체에 대한 제 생각을 적어 봅니다.
참고만 하세요...(참고라도 될런 지 모르겠지만서도...)

SNMP Agent라는 놈 그렇게 많은 일을 하는 것이 아닙니다. SNMP Agnet가 하는 대부분의 일은 'System에서 제공하는 정보'를 단순히 읽어서 SNMP Manager로 전달할 뿐입니다. 즉, SNMP Agent자체가 능동적으로 뭔가를 하는 것은 거의 없습니다.

예를 들어 mib-2의 ifInOctets, ifOutOctets따위의 ifEntry아래의 것들은 대부분 interface 드라이브가 카운트한 것을 시스템 어딘가에 저장해 주는데(시스템변수? proc파일시스템?...기억 안남), SNMP Agent는 단순히 이 결과를 읽어 올 뿐입니다. 이런 기본적인 카운팅의 경우에도 틀린 경우가 가끔 있는데, 이때 SNMP Agent를 수정하는 것이 아니라 해당 드라이브를 수정해서 바로잡아야 합니다. (Linux는 물론이고 그 비싼 VxWorks에서도 이런 경우는 의외로 흔합니다.)

또, 표준 mib에 있는 것이고 SNMP Agent에도 그러한 것들이 구현되어 있다고 하더라도 해당되는 디바이스의 드라이브나 혹은 커널 등에서 지원하지 않는다면 직접 드라이브나 커널을 수정해야 합니다.

그리고 표준 mib외의 다른 기능(임베디드 시스템에서 시스템의 설정 기능을 SNMP를 통해 구현하는 등의 기능...이때는 좀 능동적인 짓을 하지요)을 구현하려면 private/enterprises ID를 어딘가에서(IANA...?) 발부 받아서 private mib을 작성하고 이걸 Agent에 구현해야 합니다.

물론 시스템의 정보나 이벤트를 SNMP Agent가 인식해서 다른 데몬이나 프로세스로 전달하는 것은 signal을 써든 fifo를 써든 구현하기 나름이겠구요...

마지막으로 SNMP에 대한 저의 느낌을 한 문장으로 표현한다면...
"SNMP는 완전 단순 무식 '쌩노가다'다..."

고생 좀 하시겠습니다...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.