home *** CD-ROM | disk | FTP | other *** search
/ SunSoft Catalyst 1995 September to December / CDware_Sep-Dec_1995.bin / .products / Solstice / FAQ-files / em / faq-file.txt next >
Text File  |  1995-09-04  |  25KB  |  747 lines

  1. faq-1: Subject: EM 1.0 Installation and Configuration
  2. faq-1: 
  3. faq-1: Question:
  4. faq-1: =========
  5. faq-1: 
  6. faq-1: How can I configure EM so it doesn't need to be run as root?
  7. faq-1: 
  8. faq-1: 
  9. faq-1: Answer:
  10. faq-1: =======
  11. faq-1: 
  12. faq-1: There are two steps necessary to use EM as a non-root user.
  13. faq-1: 
  14. faq-1: a. Modify tools so non-root user can execute them:
  15. faq-1: 
  16. faq-1: 1. Log in as root
  17. faq-1: 2. cd /opt/SUNWconn/em/etc
  18. faq-1: 3. chmod 4555 em_dmuxd
  19. faq-1: 4. cd /opt/SUNWconn/em/bin
  20. faq-1: 5. chmod 4555 em_mis
  21. faq-1: 6. edit "em_services" to comment out the following lines by
  22. faq-1: adding '#' in the first column (starting at line 21):
  23. faq-1: 
  24. faq-1: #if test `id | awk '{print $1}'` != "uid=0(root)"
  25. faq-1: #then
  26. faq-1: #  $ECHO "You must be root user to run em_services."
  27. faq-1: #  exit 1
  28. faq-1: #fi
  29. faq-1: 
  30. faq-1: 7. Modify "var-install" to change all chmod, chgrp, and chown
  31. faq-1: to user name and group:
  32. faq-1: 
  33. faq-1: line 60: makedir 755 username usergroup ${runtime}
  34. faq-1: line 63: makedir 777 username usergroup 
  35.         line 74: copyfile 644 username usergroup $EM_MIS_...
  36. faq-1: line 75: copyfile 644 username usergroup ...
  37. faq-1: line 76: copyfile 644 username usergroup ...
  38. faq-1: line 90: chown -f username ${runtime}/data/MDR
  39. faq-1: line 103:chown -f username *
  40. faq-1: 
  41. faq-1: 8. If em_services is currently running, please run
  42. faq-1: "em_services -s" to stop it, so later the non-root users
  43. faq-1: can restart it.
  44. faq-1: 
  45. faq-1: b. Since the original database files were created as root, you must
  46. faq-1: remove them, so when em_services is restarted, the files will take
  47. faq-1: on the permission of the user starting them.
  48. faq-1: 
  49. faq-1: 1. Log in as root
  50. faq-1: 2. rm -rf /var/opt/SUNWconn/em/*
  51. faq-1: 3. chmod 777 /var/opt/SUNWconn/em
  52. faq-1: 4. Log in as normal user
  53. faq-1: 5. em_services -r
  54. faq-1: 
  55. faq-1: Please be aware of that the permission problem will occur unless you
  56. faq-1: stick to the same (non-root) user to run MIS.
  57. faq-2: Subject: Changing the fonts on the viewer
  58. faq-2:
  59. faq-2: Question:
  60. faq-2: =========
  61. faq-2:
  62. faq-2: For EM 1.0, how can I change the fonts the viewer uses?
  63. faq-2:
  64. faq-2: Answer:
  65. faq-2: =======
  66. faq-2:
  67. faq-2: Currently, the only changeable font, is the viewer label. To change this font,
  68. faq-2: add the following line to your .Xdefaults file (in your home directory):
  69. faq-2:
  70. faq-2: em_viewer.viewer_label_font: helvetica-bold-18
  71. faq-2:
  72. faq-2: Save the file, then run the command: xrdb ~/.Xdefaults
  73. faq-2: Anytime you start the viewer, it will use this font for the glyph labels.
  74. faq-3: Subject: Error message "Can't find view"
  75. faq-3: 
  76. faq-3: Question:
  77. faq-3: =========
  78. faq-3: 
  79. faq-3: Why do I get the error message "Can't find view. Going back to 'Root' View"?
  80. faq-3: 
  81. faq-3: 
  82. faq-3: Answer:
  83. faq-3: =======
  84. faq-3: 
  85. faq-3: At some point, you have set your default view in the Viewer (Options->Set
  86. faq-3: Preferences...) to some view which no longer exists in the MIS. The default
  87. faq-3: view is stored in ~/.em_viewer.cf
  88. faq-4: Subject: How to add glyphs to object palette (EM 1.0)
  89. faq-4: 
  90. faq-4: Question:
  91. faq-4: =========
  92. faq-4: 
  93. faq-4: Using EM 1.0, how do I add my own glyphs to the Object Palette?
  94. faq-4: 
  95. faq-4: 
  96. faq-4: Answer:
  97. faq-4: =======
  98. faq-4: 
  99. faq-4: This was taken from chapter 13 of the 1.0 User's Guide:
  100. faq-4: 
  101. faq-4: This chapter presents the steps you can follow to add a new object type to the
  102. faq-4: Solstice EM Viewer's Object Palette. In this example, a new Container class
  103. faq-4: object called SpecialView will be created. After the MIS is restarted, this new
  104. faq-4: Container class object will be displayed in the Object Palette.
  105. faq-4: 
  106. faq-4: Warning - The method for adding a new object to the Viewer's Object Palette
  107. faq-4: will change in a future release. A GUI will be provided to accomplish this task
  108. faq-4: and this method will no longer be supported at that time.
  109. faq-4: 
  110. faq-4: a. Decide the class of object you want to add (Device, Connection, Container)
  111. faq-4: to the Object Palette.
  112. faq-4: 
  113. faq-4: In this example a Container object is being added.
  114. faq-4: 
  115. faq-4: b. Edit the /opt/SUNWconn/em/install/platform/map/common/init_map file to add
  116. faq-4: the following information:
  117. faq-4: 
  118. faq-4: $df = TOPO'pack_TopoTypes($type{"Container"});
  119. faq-4: &TopoDB'new_type($tdb, "SpecialView", $dl_lvl, $dl_lvl,
  120. faq-4: $df, undef, undef), "n";
  121. faq-4: 
  122. faq-4: The above lines should be added to the file where other lines of the
  123. faq-4: same format already exist.
  124. faq-4: 
  125. faq-4: c. Create an icon for the SpecialView Container class object in a file called
  126. faq-4: /opt/SUNWconn/em/glyphs/SpecialView.pm.
  127. faq-4: 
  128. faq-4: Note that the Viewer application will look for the SpecialView.pm
  129. faq-4: file to obtain the icon that is associated with the SpecialView
  130. faq-4: Container class.
  131. faq-4: 
  132. faq-4: d. Add a line of the following format for each object you would like to able
  133. faq-4: to create below a special view, to the init_map file:
  134. faq-4: 
  135. faq-4: &TopoType'add_child($type{"SpecialView"}, $type{"Universe"});
  136. faq-4: 
  137. faq-4: The above line should be added to the file where other lines of the
  138. faq-4: same format already exist.
  139. faq-4: 
  140. faq-4: e. Add a line of the following format for each object you wish to be able to
  141. faq-4: create a special view under, to the init_map file:
  142. faq-4: 
  143. faq-4: &TopoType'add_child($type{"SubNetwork"}, $type{"SpecialView"});
  144. faq-4: 
  145. faq-4: The above line should be added to the file where other lines of the
  146. faq-4: same format already exist.
  147. faq-4: 
  148. faq-4: f. Restart the MIS: em_services -i
  149. faq-4: 
  150. faq-4: Once you have created the objects (either using the init_map file, the Object
  151. faq-4: Editor, or a PMI program), and the object exists in the MIT (can be seen using
  152. faq-4: Obed: /emDomainTitle=oid:{1 2 3 1}/emApplicationType="TOPOLOGY"
  153. faq-4: /topoDatabaseId="TOPO"/topoTypeId="SpecialView"), if you restart the
  154. faq-4: viewer, it reads the topo types, and adds them to the palette.
  155. faq-4: 
  156. faq-4: The viewer looks for the glyph in /opt/SUNWconn/em/glyphs with the file name
  157. faq-4: SpecialView.pm
  158. faq-4: 
  159. faq-4: If you use init_map, the create only happens with em_services -i or
  160. faq-4: em_services -r. If you create the object yourself the viewer needs to be
  161. faq-4: restarted.
  162. faq-4: 
  163. faq-4: If the object exists, and the glyph file exists, then you should be able to
  164. faq-4: use it.
  165. faq-4: 
  166. faq-4: The Options -> Configure Device Menus... gets its information from
  167. faq-4: a configuration file. This is either in /opt/SUNWconn/em/config/em_viewer.cf
  168. faq-4: or in your HOME directory as .em_viewer.cf
  169. faq-4: 
  170. faq-4: If you add a new type, you need to add it to this file.  For device type
  171. faq-4: SpecialView:
  172. faq-4: 
  173. faq-4: Menu SpecialView
  174. faq-4: {
  175. faq-4: "Configure..."  EM_VIEWERCONFIG
  176. faq-4: "View Data..."  /opt/SUNWconn/em/bin/em_dataviewer -o EM_OBJNAME
  177. faq-4: "Ping"      xterm -title Ping -e ping -I 10 EM_OBJNAME
  178. faq-4: "Alarms..."     /opt/SUNWconn/em/bin/em_alarmmgr -device EM_OBJNAME
  179. faq-4: "Reset State"   EM_VIEWERRESET
  180. faq-4: "Go To View"    EM_GOTOVIEW
  181. faq-4: }
  182. faq-4: 
  183. faq-4: Activations
  184. faq-4: {
  185. faq-4: "Bridge"        EM_VIEWERCONFIG
  186. faq-4: "Container"     EM_GOTOVIEW
  187. faq-4: "Device"        EM_VIEWERCONFIG
  188. faq-4: "Host"         EM_VIEWERCONFIG
  189. faq-4: "SpecialView"     EM_GOTOVIEW
  190. faq-4: "Hub"        EM_VIEWERCONFIG
  191. faq-4: "Network"       EM_GOTOVIEW
  192. faq-4: "Router"        EM_VIEWERCONFIG
  193. faq-4: "Server"        EM_VIEWERCONFIG
  194. faq-4: "Subnetwork"    EM_GOTOVIEW
  195. faq-4: "Universe"      EM_GOTOVIEW
  196. faq-4: "View"        EM_GOTOVIEW
  197. faq-4: }
  198. faq-4: 
  199. faq-5: Subject: A question on links being displayed in the viewer
  200. faq-5: 
  201. faq-5: Question:
  202. faq-5: =========
  203. faq-5: 
  204. faq-5: Using EM 1.0, hy don't my links show up?
  205. faq-5: 
  206. faq-5: 
  207. faq-5: Answer:
  208. faq-5: =======
  209. faq-5: 
  210. faq-5: Links are currently not allowed in the Root view.
  211. faq-6: Subject: What is the Unresolved view?
  212. faq-6: 
  213. faq-6: Question:
  214. faq-6: =========
  215. faq-6: 
  216. faq-6: Using EM 1.0, What is the Unresolved view used for?
  217. faq-6: 
  218. faq-6: 
  219. faq-6: Answer:
  220. faq-6: =======
  221. faq-6: 
  222. faq-6: If you create objects outside of the Topology container, then an
  223. faq-6: instance of those objects appears under the Unresolved view.  The
  224. faq-6: Topology container is meant to show the true containment of the
  225. faq-6: network (network-subnetwork-host).
  226. faq-6: 
  227. faq-7: Subject: severity and color related to Glyphs
  228. faq-7: 
  229. faq-7: Question:
  230. faq-7: =========
  231. faq-7: 
  232. faq-7: I created my own icon, but the when the severity changes, only
  233. faq-7: the label color changes.  Why?
  234. faq-7: 
  235. faq-7: 
  236. faq-7: Answer:
  237. faq-7: =======
  238. faq-7: 
  239. faq-7: The viewer uses the area defined as rgb #c8c8c8c8c8c8.  When
  240. faq-7: the status changes, the viewer updates the glyph, and uses that part of
  241. faq-7: the glyph which has that rgb value. So, with the following definition,
  242. faq-7: anywhere an 'X' appears, would change to the color associated with the
  243. faq-7: severity:
  244. faq-7: 
  245. faq-7: "       s none  m none  c none",
  246. faq-7: ".      s iconGray1     m white c #e1e1e1e1e1e1",
  247. faq-7: "X      s iconGray2     m white c #c8c8c8c8c8c8",
  248. faq-7: "o      s iconGray6     m black c #646464646464",
  249. faq-7: "O      s selectColor   m white c #7d7d7d7d7d7d",
  250. faq-7: "+      s iconGray7     m black c #4b4b4b4b4b4b",
  251. faq-8: Subject: How to make an icon background transparent
  252. faq-8: 
  253. faq-8: Question:
  254. faq-8: =========
  255. faq-8: 
  256. faq-8: How do I make my icons have transparent backgrounds?
  257. faq-8: 
  258. faq-8: 
  259. faq-8: Answer:
  260. faq-8: =======
  261. faq-8: 
  262. faq-8: If the none is used as a colorname (e.g. "   s none  m none  c none")
  263. faq-8: it means that section of the icon will be set to transparent.
  264. faq-8: 
  265. faq-8: Example:
  266. faq-8: 
  267. faq-8: "       s none  m none  c none",
  268. faq-8: ".      s iconGray1     m white c #e1e1e1e1e1e1",
  269. faq-8: "X      s iconGray2     m white c #c8c8c8c8c8c8",
  270. faq-8: "o      s iconGray6     m black c #646464646464",
  271. faq-8: "O      s selectColor   m white c #7d7d7d7d7d7d",
  272. faq-8: "+      s iconGray7     m black c #4b4b4b4b4b4b",
  273. faq-9: Subject: Renaming a request template
  274. faq-9: 
  275. faq-9: Question:
  276. faq-9: =========
  277. faq-9: 
  278. faq-9: Using EM 1.0, how do I rename a template?
  279. faq-9: 
  280. faq-9: 
  281. faq-9: Answer:
  282. faq-9: =======
  283. faq-9: 
  284. faq-9: There is no Save As... button, so in order to rename a request template
  285. faq-9: you need to change the name (in the Template Name: field), and then use
  286. faq-9: the Save button.
  287. faq-10: Subject: bug related to restarting a request after modifying the template
  288. faq-10: 
  289. faq-10: Question:
  290. faq-10: =========
  291. faq-10: 
  292. faq-10: Using EM 1.0, I modified a template, and started a request,
  293. faq-10: but it looked like the original request.
  294. faq-10: 
  295. faq-10: 
  296. faq-10: Answer:
  297. faq-10: =======
  298. faq-10: 
  299. faq-10: There is currently a bug in NerveCenter, so anytime you make modifications to
  300. faq-10: a request template, it is a good idea to change the name.
  301. faq-11: Subject: A problem with request designer locking up
  302. faq-11: 
  303. faq-11: Question:
  304. faq-11: =========
  305. faq-11: 
  306. faq-11: When using EM 1.0, the Request Designer appears to lock up
  307. faq-11: occasionally.
  308. faq-11: 
  309. faq-11: 
  310. faq-11: Answer:
  311. faq-11: =======
  312. faq-11: 
  313. faq-11: This is due to a scheduler bug. This is annoying, but not destructive.
  314. faq-11: It can be worked around by starting up a new Request Designer, and
  315. faq-11: killing the old one.
  316. faq-12: Subject: Saving request designer templates
  317. faq-12: 
  318. faq-12: Question:
  319. faq-12: =========
  320. faq-12: 
  321. faq-12: Using EM 1.0, how do I save my templates, to move them
  322. faq-12: to another host?
  323. faq-12: 
  324. faq-12: 
  325. faq-12: Answer:
  326. faq-12: =======
  327. faq-12: 
  328. faq-12: It is best to create your templates using the Request Designer, then once
  329. faq-12: you have a good working template (debugged), write an NCI program which will
  330. faq-12: create the template (or templates).
  331. faq-13: Subject: MAIL and UNIXCMD Actions dont work?
  332. faq-13: 
  333. faq-13: Question:
  334. faq-13: =========
  335. faq-13: 
  336. faq-13: It appears that MAIL & UNIXCMD Actions don't work?
  337. faq-13: 
  338. faq-13: 
  339. faq-13: Answer:
  340. faq-13: =======
  341. faq-13: 
  342. faq-13: Whenever you specify an Action of MAIL or UNIXCMD, you need to specify
  343. faq-13: the arguments with double quotes (eg. "/usr/openwin/bin/cmdtool")
  344. faq-14: Subject: Why icons dont change color when running NC templates
  345. faq-14: 
  346. faq-14: Question:
  347. faq-14: =========
  348. faq-14: 
  349. faq-14: I developed a Request Template, and ran it, but the icons don't change
  350. faq-14: colors?
  351. faq-14: 
  352. faq-14: Answer:
  353. faq-14: =======
  354. faq-14: 
  355. faq-14: The colors of the states in the Request Designer don't actually have
  356. faq-14: anything to do with changing the icon color.  The icon color changes
  357. faq-14: happen when using the RCL function alarm().  This sends a NerveCenter
  358. faq-14: Alarm to the MIS.  There are some predefined Alarms (AlarmMajor,
  359. faq-14: AlarmMinor, etc.).  The function alarm() allows you to set the severity,
  360. faq-14: which the viewer uses to determine the color of the icon.
  361. faq-14: 
  362. faq-15: Subject: question on state transitions
  363. faq-15: 
  364. faq-15: 
  365. faq-15: Question:
  366. faq-15: =========
  367. faq-15: 
  368. faq-15: When will a running request transition from one state to another?
  369. faq-15: 
  370. faq-15: 
  371. faq-15: Answer:
  372. faq-15: =======
  373. faq-15: 
  374. faq-15: There are only two times when you can transition from one state to another.
  375. faq-15: 
  376. faq-15: 1. When an attribute is checked.
  377. faq-15: 2. When subscribing to an event, and the event happened.
  378. faq-15: 
  379. faq-15: In the first case, you must check an attribute.  Even if it is not valid
  380. faq-15: for the $pollfdn (see the Jump Condition), an attribute which is defined
  381. faq-15: in the MDR must be checked.
  382. faq-16: Subject: How to access the SNM agents
  383. faq-16: 
  384. faq-16: Question:
  385. faq-16: =========
  386. faq-16: 
  387. faq-16: Using EM 1.0 how do I access SNM agents?
  388. faq-16: 
  389. faq-16: 
  390. faq-16: Answer:
  391. faq-16: =======
  392. faq-16: 
  393. faq-16: When you configure a host as SNM manageable (using the Viewers Object
  394. faq-16: Configuration Tool), an RPC managed object gets created for that host:
  395. faq-16: 
  396. faq-16: /systemId="mozes"/agentTableType="RPC"/agentId="host"
  397. faq-16: 
  398. faq-16: All the SNM agent data is available below that object:
  399. faq-16: 
  400. faq-16: agentTableType="RPC"/agentId="host"/agentId="hostperf-data"
  401. faq-17: Subject: Creating a request template to access SNM agents
  402. faq-17: 
  403. faq-17: 
  404. faq-17: Question:
  405. faq-17: =========
  406. faq-17: 
  407. faq-17: How do I create request templates to use SNM agents?
  408. faq-17: 
  409. faq-17: 
  410. faq-17: Answer:
  411. faq-17: =======
  412. faq-17: 
  413. faq-17: Just make sure you set the $pollfdn to the correct managed object. If you
  414. faq-17: are interested in ping-reach attributes, you would set the $pollfdn to:
  415. faq-17: 
  416. faq-17: agentTableType="RPC"/agentId="host"/agentId="ping-reach"
  417. faq-17: 
  418. faq-17: Remember, the viewer starts the request setting the $pollfdn to the value
  419. faq-17: of the defaultTopoNodeMO, so the request template only needs to append
  420. faq-17: the last agentId.
  421. faq-18: Subject: A question on dispatch_recursive( )
  422. faq-18: 
  423. faq-18: 
  424. faq-18: Question:
  425. faq-18: =========
  426. faq-18: 
  427. faq-18: What is dispatch_recursive( ) and how to use it?
  428. faq-18: 
  429. faq-18: 
  430. faq-18: Answer:
  431. faq-18: =======
  432. faq-18: 
  433. faq-18: dispatch_recursive() is used by the PMI for communicating with the MIS. Most
  434. faq-18: PMI calls use it internally to wait for responses from the MIS. Many
  435. faq-18: applications may need to call it directly.
  436. faq-18: 
  437. faq-18: This function does a select on all the open file descriptors to determine their
  438. faq-18: state. If the parameter is set to TRUE, the select will block, waiting for
  439. faq-18: input. If FALSE, then the select will poll once.
  440. faq-18: 
  441. faq-18: If your application is waiting for events, then you will need to setup a
  442. faq-18: routine which calls dispatch_recursive():
  443. faq-18: 
  444. faq-18: Boolean
  445. faq-18: my_dispatcher()
  446. faq-18: {
  447. faq-18: // call the pmi routine which checks for received events.
  448. faq-18: //      If an event has been received, the Callback routine
  449. faq-18: //      specified in plat.when() will get called directly.
  450. faq-18: //
  451. faq-18: dispatch_recursive((char)FALSE);
  452. faq-18: 
  453. faq-18: usleep(100000);
  454. faq-18: 
  455. faq-18: return FALSE;
  456. faq-18: }
  457. faq-19: Subject: Scoping & filtering and how to use it?
  458. faq-19: 
  459. faq-19: 
  460. faq-19: Question:
  461. faq-19: =========
  462. faq-19: 
  463. faq-19: What is scoping & filtering? How do I use it?
  464. faq-19: 
  465. faq-19: 
  466. faq-19: Answer:
  467. faq-19: =======
  468. faq-19: 
  469. faq-19: The scope is defined as the sub-tree within the MIT to which a management
  470. faq-19: command is to be applied. The scope is described by the node of the parent
  471. faq-19: tree at which the sub-tree is rooted, and the depth (number of nodes) to which
  472. faq-19: the scope extends.
  473. faq-19: 
  474. faq-19: The filter allows you to select objects that fit a specific criteria. For
  475. faq-19: example:
  476. faq-19: 
  477. faq-19: album.set_derivation("/systemId="mozes"/LV(1)/
  478. faq-19: CMISFilter(item:equality:{objectClass,log})
  479. faq-19: 
  480. faq-19: would set the scope to be all object below /systemId="mozes", and the filter
  481. faq-19: would be all objects which are of objectClass log.
  482. faq-19: 
  483. faq-19: 
  484. faq-19: 
  485. faq-20: Subject: How to invoke an action using the PMI?
  486. faq-20: 
  487. faq-20: 
  488. faq-20: Question:
  489. faq-20: =========
  490. faq-20: 
  491. faq-20: How can I invoke an ACTION?
  492. faq-20: 
  493. faq-20: 
  494. faq-20: Answer:
  495. faq-20: =======
  496. faq-20: 
  497. faq-20: Use the Image.call() member function to invoke an ACTION.
  498. faq-20: There is an advanced sample in the src directory
  499. faq-20: called derive_snmp.cc.  It invokes an action to the MDR to get an
  500. faq-20: SNMP document.  The action is "getDocument", the arg to the action
  501. faq-20: is the document name.  The return value is a DataUnit:
  502. faq-20: 
  503. faq-20: DU mdr_data =  mdr_image.call("getDocument",""IIMCRFC1213-MIB"");
  504. faq-21: Subject: A PMI question on TRACKMODE and the Image class
  505. faq-21: 
  506. faq-21: 
  507. faq-21: Question:
  508. faq-21: =========
  509. faq-21: 
  510. faq-21: When I create an image and set the TRACKMODE to TRACK, I expect to get
  511. faq-21: the most recent value of an attribute using get_str().  Why am I seeing the
  512. faq-21: same value?
  513. faq-21: 
  514. faq-21: 
  515. faq-21: Answer:
  516. faq-21: =======
  517. faq-21: 
  518. faq-21: The TRACK mode doesn't happen magically. The program must invoke
  519. faq-21: dispatch_recursive() to  handle events from the MIS and update
  520. faq-21: the Images related to those events.
  521. faq-21: 
  522. faq-21: The get_str() is a "local" operation. It doesn't go to MIS. If
  523. faq-21: dispatch_recursive() is added, the next get_str() would get the new value.
  524. faq-22: Subject: An explanation of TRACK and SNAP modes
  525. faq-22: 
  526. faq-22: 
  527. faq-22: Question:
  528. faq-22: =========
  529. faq-22: 
  530. faq-22: How do TRACK & SNAP modes work?
  531. faq-22: 
  532. faq-22: 
  533. faq-22: Answer:
  534. faq-22: =======
  535. faq-22: 
  536. faq-22: In "TRACK" mode, get_str gets the most recent (real) value, provided
  537. faq-22: dispatch_recursive is called. The set_str without store() does not affect
  538. faq-22: the return value of get_str
  539. faq-22: 
  540. faq-22: In "SNAP" mode, get_str gets the attribute value when the MO is created.
  541. faq-22: Changes of both "imaginary" and "real" values of the attribute do not
  542. faq-22: affect the return value of get_str, EXCEPT the "real" value is changed from
  543. faq-22: the same image! (i.e. call set_str and then store, you get the updated
  544. faq-22: "real" value when you get_str, even it is in "SNAP" mode).
  545. faq-22: 
  546. faq-22: In both "TRACK" and "SNAP" modes, get_set_str gets the  value from last
  547. faq-22: set_str
  548. faq-23: Subject: How to backup the EM run-time object store
  549. faq-23: 
  550. faq-23: 
  551. faq-23: Question:
  552. faq-23: =========
  553. faq-23: 
  554. faq-23: How do I backup all my data?
  555. faq-23: 
  556. faq-23: 
  557. faq-23: Answer:
  558. faq-23: =======
  559. faq-23: 
  560. faq-23: There is a way to backup the entire run-time database & restore it:
  561. faq-23: 
  562. faq-23: host# ufsdump 0f <dump file or device> /var/opt/SUNWconn/em
  563. faq-23: host# ufsrestore xf <dump file or device> /var/opt/SUNWconn/em
  564. faq-23: 
  565. faq-23: But this is only effective for full backups. Currently you can't back
  566. faq-23: up just TOPOLOGY information, or just Request Template information, and
  567. faq-23: there is no support for creating an editable ASCII file (like SNM).
  568. faq-23: 
  569. faq-24: Subject: A question on EM log files
  570. faq-24: 
  571. faq-24: Question:
  572. faq-24: =========
  573. faq-24: 
  574. faq-24: Where are EM log files? How often are logs saved to disk?
  575. faq-24: 
  576. faq-24: 
  577. faq-24: Answer:
  578. faq-24: =======
  579. faq-24: 
  580. faq-24: Each time em_logd gets started, it creates a log file in
  581. faq-24: /var/opt/SUNWconn/em/data/LOG with the date the file was created:
  582. faq-24: 
  583. faq-24: emlog.120594.12:56
  584. faq-24: 
  585. faq-24: Anytime a log object gets created/deleted/changed, it gets logged to the
  586. faq-24: log file.
  587. faq-24: 
  588. faq-25: Subject: Logging to separate files
  589. faq-25: 
  590. faq-25: 
  591. faq-25: Question:
  592. faq-25: =========
  593. faq-25: 
  594. faq-25: How can I log individual logs to separate files, rather than one big file?
  595. faq-25: 
  596. faq-25: 
  597. faq-25: Answer:
  598. faq-25: =======
  599. faq-25: 
  600. faq-25: All log records are objects in the MIT. If you want to log each one separately
  601. faq-25: it is just a matter of deriving an Album under /systemId, and filter for log
  602. faq-25: Objects. Under each log Object are the logRecords:
  603. faq-25: 
  604. faq-25: logId=string:"AlarmLog"/logRecordId=number:0
  605. faq-25: logId=string:"AlarmLog"/logRecordId=number:1
  606. faq-25: 
  607. faq-25: 
  608. faq-26: Subject: Adding custom objects to the platform
  609. faq-26: 
  610. faq-26: 
  611. faq-26: Question:
  612. faq-26: =========
  613. faq-26: 
  614. faq-26: What is involved in adding my own objects?
  615. faq-26: 
  616. faq-26: 
  617. faq-26: Answer:
  618. faq-26: =======
  619. faq-26: 
  620. faq-26: In order to create your own local objects, you must first define them in GDMO. After
  621. faq-26: you write the GDMO, you need to compile it using `em_gdmo' and put the output
  622. faq-26: into /var/opt/SUNWconn/em/usr/data/MDR. The MIS needs to know about the new objects,
  623. faq-26: so use the CMIP action `compose_oc' and `load_name_bindings'. Type something
  624. faq-26: similar to the following (using the name of your objectClass, and the specific
  625. faq-26: NAME BINDING which you defined):
  626. faq-26: 
  627. faq-26: % em_gdmo -v -o /var/opt/SUNWconn/em/usr/data/MDR -f xxx.gdmo
  628. faq-26: % em_asn1 -v -o /var/opt/SUNWconn/em/usr/data/ASN1 xxx.asn1
  629. faq-26: % em_compose_oc myObjectClass
  630. faq-26: % em_load_name_bindings myObjectClass-system
  631. faq-26: 
  632. faq-27: Subject: How to create custom events
  633. faq-27: 
  634. faq-27: 
  635. faq-27: Question:
  636. faq-27: =========
  637. faq-27: 
  638. faq-27: How do I create and use my own events?
  639. faq-27: 
  640. faq-27: 
  641. faq-27: Answer:
  642. faq-27: =======
  643. faq-27: 
  644. faq-27: Once you define your own event in GDMO, you need to setup the MIS to translate
  645. faq-27: the user defined event to an object class.To add the event mapping you need to
  646. faq-27: do a SET on object
  647. faq-27: 
  648. faq-27: /systemId="host"/subsystemId="EM-MIS"/listname="event2ObjectClass"
  649. faq-27: 
  650. faq-27: In the attribute newitem, add the mapping to the user defined event record:
  651. faq-27: 
  652. faq-27: {event_name, Log Object class name}
  653. faq-27: 
  654. faq-27: You can do this in Obed, or write a small PMI program to do this.
  655. faq-27: 
  656. faq-28: Subject: Constructing an SNMP transport address
  657. faq-28: 
  658. faq-28: 
  659. faq-28: Question:
  660. faq-28: =========
  661. faq-28: 
  662. faq-28: How is the transportAddress attribute constructed?
  663. faq-28: 
  664. faq-28: 
  665. faq-28: Answer:
  666. faq-28: =======
  667. faq-28: 
  668. faq-28: The transportAddress is represented as a 6 octet field.  The first 4 represent
  669. faq-28: the internet address, and the second two are the snmp port. This is shown
  670. faq-28: in octal, except when there is a printable representation, then the ascii
  671. faq-28: character is shown.
  672. faq-28: 
  673. faq-28: Address      Port
  674. faq-28: 138.20.20.1  161  ->  \212\24\24\001\0\241
  675. faq-28: 138.20.20.80 161  ->  \212\24\24P\0\241
  676. faq-29: Subject: Constructing an SNMP transport address with the PMI
  677. faq-29: 
  678. faq-29: 
  679. faq-29: Question:
  680. faq-29: =========
  681. faq-29: 
  682. faq-29: How can I construct an SNMP transportAddress attribute using the PMI?
  683. faq-29: 
  684. faq-29: 
  685. faq-29: Answer:
  686. faq-29: =======
  687. faq-29: 
  688. faq-29: The transportAddress is represented as a 6 octet field.  The first 4 represent
  689. faq-29: the internet address, and the second two are the snmp port. This is shown
  690. faq-29: in octal, except when there is a printable representation, then the ascii
  691. faq-29: character is shown.
  692. faq-29: 
  693. faq-29: Address      Port
  694. faq-29: 138.20.20.1  161  ->  \212\24\24\001\0\241
  695. faq-29: 138.20.20.80 161  ->  \212\24\24P\0\241
  696. faq-29: 
  697. faq-29: To modify the transportAddress via the PMI you should do the following:
  698. faq-29:
  699. faq-29:     char *addr;
  700. faq-29:        char xx[6];
  701. faq-29:
  702. faq-29:        addr = im.get_str(attribute_name).chp();
  703. faq-29:
  704. faq-29:        xx[0] = addr[0];
  705. faq-29:        xx[1] = addr[1];
  706. faq-29:        xx[2] = addr[2];
  707. faq-29:        xx[3] = addr[3];
  708. faq-29:        xx[4] = 0x00;
  709. faq-29:        xx[5] = 0xa3;
  710. faq-29:        U32 size = 6;
  711. faq-29:
  712. faq-29:        if(!im.set_str(attribute_name, DU(size,(Octet *)xx)))
  713. faq-29:        {
  714. faq-29:            printf("set_str() Failed %s\n",im.get_error_string());
  715. faq-29:            exit(4);
  716. faq-29:        }
  717. faq-29:        if(!im.store())
  718. faq-29:        {
  719. faq-29:            printf("store() Failed %s\n",im.get_error_string());
  720. faq-29:            exit(5);
  721. faq-29:        }
  722. faq-29:
  723. faq-30: Subject: Using em_compose_oc, em_compose_poc, and em_load_name_bindings
  724. faq-30: 
  725. faq-30: 
  726. faq-30: Question:
  727. faq-30: =========
  728. faq-30: 
  729. faq-30: What is em_compose_oc used for?  When should I use it?
  730. faq-30: 
  731. faq-30: 
  732. faq-30: Answer:
  733. faq-30: =======
  734. faq-30: 
  735. faq-30: em_compose_oc is used to tell the MIS that it should use default behaviors
  736. faq-30: to access your Managed Object Class.  So when a create/get/set/etc comes
  737. faq-30: in for the specified MOC, the MIS uses its internal secretaries to
  738. faq-30: manipulate the object.
  739. faq-30: 
  740. faq-30: em_compose_oc (or em_compose_poc, for persistent objects) must be used on
  741. faq-30: local objects.  em_load_name_bindings tells the MIS where in the MIT this
  742. faq-30: MOC can be created, so will be used on local objects after em_compose_oc.
  743. faq-30: For remote objects, the MIS needs to forward the request to the appropriate
  744. faq-30: agent, so you would not use compose_oc.
  745. faq-30: 
  746.  
  747.