
å°ãã§ãæåœå¿ããªãããã«æããããã¯ãããŸããããæŽå²çã«ã¯ããããã¯ãŒã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ãç£èŠããããã®äŒæ¥ã·ã¹ãã ãéžæãããšãOpenNMSãåœç€Ÿãæã¡è² ãããGrandma Cactiããã®ããžã·ã§ã³ããæé€ããåèZabbixãè¿œãæããããšãå€æããŸããã Open Sourceç£èŠã·ã¹ãã ã®æ¯èŒåæã¯ç§ã®èšç»ã«å«ãŸããŠããŸããããããã£ãŠãOpenNMSã«ã€ããŠã¯Habrã«ã€ããŠã¯æžããŠããããããŸãæ å ±ããªãã®ã§ãOpenNMSã«ã€ããŠäžè¬çãªçšèªã§æŠèª¬ããŸãã
OpenNMSïŒOpen Network Monitoring SystemïŒã®äž»ãªæ©èœã¯ãããŸããŸãªãµãŒãã¹ãšãããã¯ãŒã¯ããã³ãµãŒããŒæ©åšã®å éšã·ã¹ãã ã®ç£èŠã§ãã æ å ±ãåéããããã«ããããããã³ã¬ã¯ã¿ãŒãã䜿çšãããSNMPãHTTPãITDITPãããã³ã«ãä»ããŠåäœããŸãã OpenNMSã«ã¯åå¥ã®ãµãŒããŒãšãŒãžã§ã³ãã¯ãããŸããã æ å ±ãå¿ èŠã§ããããšãå€æããå Žåãã䜿çšäŸãã»ã¯ã·ã§ã³ã®æ¬¡ã®è³æã§ãã©ãããŒãã®å®è£ äŸã説æããŸãã èè ãšèªè ã®äž¡æ¹ãç解ããã®ãé£ãã巚倧ãªããã¹ãã·ãŒãã®çºè¡ã§ééããç¹°ãè¿ããããããŸããã
ç°¡åãªèª¬æ
OpenNMSã¯åçã«éçºãããŠãããååã«ææžåãããŠããŸãããã³ãã¥ããã£ã¯æçåãããŠãããç¡æ°ã®XMLãã¡ã€ã«ãç·šéããããã«æ§æãããšãå€ãã®äººãæããªããŸãã ã·ã¹ãã ã¯Javaã§æžãããŠãããPerlã®ä»é²ããããããŸããŸãªãã©ãããã©ãŒã çšã®ããªãã®éã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ããªãªãŒã¹ãããŠããŸãã å¿ èŠã«å¿ããŠãJava SDKããã³PostgreSQLãµãŒããŒãã€ã³ã¹ããŒã«ãããŠããä»»æã®ãã·ã³ã§å®è¡ã§ããŸãã
1 GHz Pentium IIIïŒãŸãã¯åçã®ããã»ããµïŒä»¥äžã æå°256 MBã®RAMããã ãã512 MBã匷ããå§ãããŸãã
å ¬åŒã®ããã¥ã¡ã³ãã«èšèŒãããŠãããããã®ã·ã¹ãã èŠä»¶ã¯ãæ§ããã«èšã£ãŠãã æå°éã®ãã®ã§ãããã·ã¹ãã èªäœãèµ·åããã ãã®ãã®ã§ãã ãããã£ãŠã64ãããCPUã2 Gb RAMïŒããã¯éåžžã«æå°éïŒãé«æ§èœããŒããã©ã€ããªã©ãå°ãä¿®æ£ããããšãã§ããŸãã
ã·ã¹ãã ã®å€§é£ãã¯ãç£èŠããããŒãã®æ°ã«äŸåããŸãã 1,500以äžã®ããŒããš5,000以äžã®ã€ã³ã¿ãŒãã§ã€ã¹ïŒVLANãããŒãããµãŒãã¹ãªã©ïŒãåããã·ã¹ãã ã¯ã12 Gbã®RAMãšSASããŒããæèŒããXeon E5520ã§å¿«é©ã«æããŸãã åæã«ãrrdãã¡ã€ã«ãä¿åããããã®2Gb tmpfsããŒãã£ã·ã§ã³ãæäŸãããŸããã ãã¯ãŒãªã¶ãŒãã¯2å以äžå²ãåœãŠãããŠããŸããããã¯ããããã¯ãŒã¯ã®æé·ãšãæŽæ°ããã³éçºã®ããã»ã¹ã«ãããã·ã¹ãã ã®æ¬²æ±ã«åœ±é¿ãäžããŠããŸãã
èšçœ®
ntp, net-snmp, net-snmp-utils, postgresql, postgresql-server, perl
äºåã€ã³ã¹ããŒã«ã
ntp, net-snmp, net-snmp-utils, postgresql, postgresql-server, perl
ã åºæ¬çã«ã瀺ãããŠãããã¹ãŠã®ãµãŒãã¹ãæ§æããŠå®è¡ããŸãã 次ã«ãOracleãµã€ãããææ°ããŒãžã§ã³ã®JDKãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸããæåŸã«ãOpenNMSãªããžããªã«æ¥ç¶ããŠã·ã¹ãã èªäœãã€ã³ã¹ããŒã«ã§ããŸãã
rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-stable-rhel6.noarch.rpm yum install opennms iplike
ææ°ã®ããã±ãŒãžã¯ãIPNIKEã¹ãã¢ãããã·ãŒãžã£ã®åœ¢åŒã§ã®OpenNMSéçºè ããã®PostgreSQLã®ã¢ããªã³ã§ã
192.168.4-255.*
ãªã©ã®ãã¹ã¯ã䜿çšããŠIPã¢ãã¬ã¹ãšãããã¯ãŒã¯ã¢ãã¬ã¹ã«ããã¯ãšãªãåŠçããã®ã«åœ¹ç«ã¡ãŸã
192.168.4-255.*
ã¯ãã·ã¹ãã èªäœã§ã¢ã¯ãã£ãã«äœ¿çšãããŸãã
[ïŒ]ã·ã¹ãã ãã€ã³ã¹ããŒã«ãããŠãããã¹ãåããresolv.confã«ç»é²ãããŠããDNSãµãŒããŒã§è§£æ±ºããªãå Žåã¯ããã¹ãã«æžã蟌ã¿ãŸãã ããããªããšãã·ã¹ãã ã¯èµ·åããŸããã ãŸããPostgreSQLã®åæèšå®ã«ã泚æãæãå¿ èŠããããŸãã
/var/lib/pgsql/data/pg_hba.conf
ã«ãµãŒããŒãããã©ã«ãã§ã€ã³ã¹ããŒã«ããåŸã3ã€ã®ããŒã«ã«æ¥ç¶ãã¹ãŠã«ã¡ãœããtrustãé 眮ããŸãã
/opt/opennms/bin/runjava -S /usr/java/latest/bin/java /opt/opennms/bin/install -dis /etc/init.d/opennms start
èµ·ååŸãã·ã¹ãã ã¯æ¬¡ã®å Žæã§å©çšå¯èœã«ãªããŸãã
hostname:8980
hostname:8980
å¥ã®WebãµãŒããŒãã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸãã-OpenNMS Webã€ã³ã¿ãŒãã§ã€ã¹ã¯JettyãµãŒããŒãä»ããŠæ©èœããŸãã ãã ããå¿ èŠã«å¿ããŠãJettyèªäœãåæ§æããããããŒã80ã§mod_proxyã䜿çšããŠNginxãŸãã¯Apacheããã³ã°ã¢ãããããã¹ãŠã®èŠæ±ã§proxy_passãå®è¡ã§ããŸãã
ã·ã¹ãã å šäœãåã€ã³ã¹ããŒã«ããå ŽåãããŒã¿ããŒã¹ãåé€ããŠ
/var/opennms
ãåé€ããå¿ èŠããããŸãã ããããªããšãã°ã©ããã¬ããŒããšã®è¡çªãçºçããŸãã å®å šãªåã€ã³ã¹ããŒã«ã®å Žåãéšåçã«
/opt/opennms/bin/install -dis
ããã«ã
yum reinstall opennms
ããã³
/opt/opennms/bin/install -dis
yum reinstall opennms
ã
yum reinstall opennms
/opt/opennms/bin/install -dis
2åç®ã®ã¿ïŒã
OpenNMSã®èµ·åæã«ãOpenNMSã®éå§ã¡ãã»ãŒãžã衚瀺ãããŸããã
Started OpenNMS, but it has not finished starting up
ã ãŸããæ§æãšã©ãŒãçºçãããã¹ãŠã®ãµãŒãã¹ãå®è¡ãããŠãããã©ããã確èªããå¿ èŠããããŸãïŒ
opennms -v status
ã³ãã³ãïŒã ãããŠããã¹ãŠã®ãµãŒãã¹ãå®è¡ãããŠããå Žåãæªããã¥ãŒã¹ããããŸããOpenNMSã«ã¯ååãªãªãœãŒã¹ããªããå®å¿ãå¿ èŠã§ãã å 容ã
START_TIMEOUT=20
ã®ãã¡ã€ã«
$opennms/etc/opennms.conf
äœæããŸãã ãã©ã¡ãŒã¿ã®æ°å€ã¯ããã¹ãŠã®ãµãŒãã¹ã®ç¡èŠããã§ãã¯ããããã®5ç§ééã«ä¹ç®ãããä¿æ°ã§ãã ããã©ã«ãã§ã¯ããã®ãã©ã¡ãŒã¿ãŒã¯10ã§ããã50ç§ä»¥å ã«ãã¹ãŠã®ãµãŒãã¹ã«æ£åžžãªéå§ãå ±åããæéããªãå Žåããšã©ãŒãè¿ãããŸãã ã€ãŸãã
START_TIMEOUT=20
ã¯ããã¹ãŠã®ã·ã¹ãã ãèµ·åãããŸã§ã®100ç§ã®åŸ æ©ã§ãã
ã€ã³ã¿ãŒãã§ãŒã¹ãšã»ããã¢ãã
ãããããWebã€ã³ã¿ãŒãã§ãŒã¹ã®è©³çŽ°ãªèª¬æã®ããéšåãã¹ãããããŸããäžè¬çã«ãã·ã¹ãã ã¯ã»ã¯ã·ã§ã³ã10åæ©ããšæããã«ãªããŸãããXMLãã¡ã€ã«ã§Webã€ã³ã¿ãŒãã§ãŒã¹ãæäœããã ãã§ã¯æžãŸãªãããšã«æ³šæããŠãã ãããXMLãã¡ã€ã«ãæ·±ãæãäžããå¿ èŠããããŸãã

ãã®ãããããšãã°ã
Admin â Configure SNMP by IP
ã»ã¯ã·ã§ã³ã®Webã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠãç¹å®ã®ãµããããã®SNMPã³ãã¥ããã£ãç°¡åã«è¿œå ã§ããŸã ã ãã ãã察å¿ããXMLãã¡ã€ã«ã§ã®ã¿ãæ¢ã«è¿œå ãããŠããã³ãã¥ããã£ã衚瀺ããã³ç·šéã§ããŸãã åæã«ãç£èŠå¯Ÿè±¡ã®ãµããããã®ç¯å²ïŒ
network discovery
ïŒãWebã€ã³ã¿ãŒãã§ã€ã¹ããå®å šã«ç·šéã§ããŸãã
æ§æãã¡ã€ã«ãå€ãç·šéããå¿ èŠãããããã䜿ãæ £ããCVSãæ¥ç¶ããŠå€æŽã远跡ããããšããå§ãããŸãã ãŸããæ§æãã¡ã€ã«ãç·šéããåŸã
xmllint --noout filename.xml
ãšããŠãã§ãã¯ããç¿æ £ã身ã«ä»ããããšããå§ãããŸãã æåŸã®ä»äžãïŒèšå®ãã¡ã€ã«ãžã®å€æŽã¯ãopennmsããŒã¢ã³ãåèµ·åããããšã§é©çšãããŸãããããã«ã¯ããªãæéãããããŸãã
å éšååŠ

æ°ããã€ã³ã¿ãŒãã§ã€ã¹ã
newSuspect
ãšã
newSuspect
ã€ãã³ãã
newSuspect
ãŸãããã®åŸãã·ã¹ãã ã¯ãã®ã€ã³ã¿ãŒãã§ã€ã¹äžã®ãµãŒãã¹ãæ€åºãããã§ãŒã³å ã®ããã€ã¹äžã®ä»ã®ã€ã³ã¿ãŒãã§ã€ã¹ãèŠã€ããåä¿¡ããæ å ±ãããŒãã«ã°ã«ãŒãåããŸãã OpenNMSã¯ãæ°ããã€ã³ã¿ãŒãã§ã€ã¹ã«é¢ããããŒã¿ãèªåçã«ïŒç¹å®ã®é »åºŠã§ç¹å®ã®ç¯å²ãæ€çŽ¢ããŠïŒãæåã§ïŒperlã¹ã¯ãªãããåŒã³åºããŠïŒããŸãã¯SNMPãã©ãããåä¿¡ããŠââåä¿¡ã§ããŸãã
# , : perl /opt/opennms/bin/send-event.pl --interface 192.168.11.11 uei.opennms.org/internal/discovery/newSuspect
ããã§ãã€ãã³ãâãã¹ãŠã®ã€ãã³ãã§ãæ°ããããŒãã®èªçã®åŠè¶ãªããã»ã¹ã芳å¯ã§ããŸãã 衚瀺ã®é床ã¯ããã€ã¹ã«ãã£ãŠç°ãªããæ°ç§ããæ°åã§ãã

ç¹ã«èå³æ·±ãã®ã¯ããªãœãŒã¹ã°ã©ã-ã·ã¹ãã ãªãœãŒã¹ã®ã°ã©ãã§ãã æ°ããããŒããè¿œå ãããšãåãµãŒãã¹ã®ããã©ã«ãããŒã¿ã®ã¿ã衚瀺ãããŸãïŒããšãã°ãåŸè ãååšããå Žåã®ICMPããã³HTTPå¿çæéïŒã ãã ããåä¿¡ããæ å ±ã®éãå¢ããããšã¯éåžžã«å¯èœã§ãã ããšãã°ãCentOSãå®è¡ããŠããå¥ã®ãµãŒããŒããããå€ãã®ããŒã¿ãååŸããå¿ èŠããããŸãã SNMPçµç±ã§ããŒã¿ãåä¿¡ãããããã¿ãŒã²ãããµãŒããŒã«net-snmpãã€ã³ã¹ããŒã«ãã/ etc /
/etc/init.d/snmp/snmpd.conf
/ snmp / snmpd.confãç·šéããŸã
# com2sec, group, view # read-only rocommunity stat # location contact syslocation Datacenter N1, Rack 2 syscontact admin@domain.tld # disk / 10000 disk /var 10000 # load average load 12 14 14
iptablesã§161 UDPããŒããéããsnmpdãå®è¡ããOpenNMSã§æ°ããSNMPã³ãã¥ããã£ãéå§ããŸãïŒç®¡çâæäœâIPã«ããSNMPã³ãã¥ããã£åã®æ§æïŒã ãã®åŸãè¿œå ããããŒããéããŠåã¹ãã£ã³ããããšãã§ããŸãã ã¹ãã£ã³ãå®äºãããšãããå€ãã®æ å ±ã衚瀺ãããã°ã©ãã¯ãã£ã¹ã¯å®¹éãiããŒããã·ã¹ãã ã®è² è·ã«é¢ããããŒã¿ãæäŸããŸãã
管çããã«ããSNMPã³ãã¥ããã£ãè¿œå ãããšãã«opennmsãåèµ·åããããšã¯ãæ£åŒã«ã¯å¿ èŠãããŸããã ãã ãããã®ãã¡ã€ã«ã®æŽæ°ãæ°ããæ€åºã°ã«ãŒãã®è¿œå ãå€§å¹ ã«é ããããšããããopennmãåç¬ã§èµ·åããã®ãåŸ ã€ããããopennmãåèµ·åããæ¹ãéãå ŽåããããŸãã
ããå°ãå éšã®ä»çµã¿
ãã¡ãããOpenNMSã¯ãããã¯ãŒã¯ãã¹ãã£ã³ããŠããããã¯ãŒã¯äžã®æ°ããããã€ã¹ã®åºçŸãæ€åºã§ããŸãã æ€çŽ¢ããã»ã¹ã¯ã管çâãã£ã¹ã«ããªãŒã®æ§æã®Webã€ã³ã¿ãŒãã§ãŒã¹ããŸãã¯ãã¡ã€ã«
$opennms/etc/discovery-configuration.xml
ã

oopsmonkããã®ç»å
æ°ããã€ã³ã¿ãŒãã§ã€ã¹ã®çºèŠãšnewSuspectã®æäœåŸã«éå§ãããOpenNMSã®ãµãŒãã¹éã®æ¥ç¶ã«ã€ããŠè©³ããèŠãŠãããŸãããã ããŸããŸãªãµãŒãã¹ã®å¯çšæ§ã決å®ãã2ã€ã®ãµãŒãã¹ããããŸããcapsdïŒæ©èœããŒã¢ã³ïŒãšprovisiondïŒããããžã§ãã³ã°ããŒã¢ã³ïŒã§ãã ããã©ã«ãã§ã¯ãäž¡æ¹ãšãèµ·åãããŸãããç§ã«ãšã£ãŠããããªãè¡ãããã®ãã¯è¬ã®ãŸãŸã§ãã çµå±ãcapsdã¯ããŒãžã§ã³1.8.0ããéæšå¥šã«ãªããŸããããprovisiondãããé«ãåªå é äœãä¿æããŠããŸãã
ãããã£ãŠãç§ã®å人çãªæšå¥šäºé ã¯ãcapsdãç¡å¹ã«ããŠããµãŒãã¹ãæ€çŽ¢ãããã¹ãŠã®æ³šæãããããžã§ãã³ã°ã®è©ã«ç§»ãããšã§ãã åŸè ã䜿çšãããšãããããžã§ãã³ã°èŠæ±ãžã®ã¢ã¯ã»ã¹ãæäŸãããŸããããã«ãããå®çŸ©æžã¿ã®ãµãŒãã¹ãæè»ã«æ§æããããããŒãäžã®å¿ èŠãªã€ã³ã¿ãŒãã§ãŒã¹ã®ç£èŠãèªåçã«æå¹ã«ããããã«ããŽãªå¥ã«ããŒãããœãŒããããã§ããŸãã
ãµãŒãã¹ã¯ãããããžã§ãã³ã°ã®äžéšã§ããæ€åºåšã«ãã£ãŠçŽæ¥å®çŸ©ãããŸãã æ€åºåšã¯ãã€ã³ã¿ãŒãã§ãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®ãµãŒãã¹ã®æ€åºãšç»é²ã®ã¿ãåŠçããpollerdã¯æ å ±ã®åéãæ åœããŸãã ã·ã¹ãã ã®ä»¥åã®ããŒãžã§ã³ã§ã¯ãcollectdãšpollerdã¯ããŒã¿ã®åéãšåŠçã«é¢äžããŠããŸããã ã°ã©ãã®æåã®åéå€ãããã³èŠæ±ã«å¿ããŠ2çªç®ã®å€ã®åŠçã ãã®åŸãColleddã¯Pollerdã«çµ±åãããæ§æã®æéãå°ãããªããŸããããããã€ãã®å Žæã§ã¯äž¡æ¹ã®æŠå¿µã«åºãããããšããããæ··ä¹±ãæãå¯èœæ§ããããŸãã
ããŒã¿åŠçãã§ãŒã³ãéããããšã¯ãç¹å®ã®åæåæ¡ä»¶ã«è©²åœããããŒãã«é©çšãããã«ãŒã«ãå®çŸ©ããããªã·ãŒã§ãã çŸåšãMatchingIpInterfacePolicyãMatchingSnmpInterfacePolicyãNodeCategorySettingPolicyã®3ã€ãå©çšå¯èœã§ãã ãããã®ååã¯ããèªäœãè¡šããŠãããããªã·ãŒã®é©çšã«ãããç®çã®ã€ã³ã¿ãŒãã§ã€ã¹ããæ å ±ãååŸããä»çµã¿ãå¶åŸ¡ã§ããŸãã äŸãšããŠïŒ
- MatchingSnmpInterfacePolicyã䜿çšããŠã説æã«ç¹å®ã®åèªïŒããšãã°[mon] ïŒãããã€ã³ã¿ãŒãã§ãŒã¹ããã®æ å ±ã®åŒ·å¶åéãæå¹ã«ã§ããŸãã
- NodeCategorySettingPolicyã䜿çšããŠããã¹ãŠã®D-Linkã¹ã€ãããå¥ã®ã«ããŽãªã«éä¿¡ããŸãã
- MatchingIpInterfacePolicyã䜿çšããŠãåããµããããã«ãããã¹ãŠã®ã¹ã€ããããã®ããŒã80ããã®æ å ±ã®åéãç¡å¹ã«ããŸããã ã¹ã€ããã®å ŽåãHTTPå¿çã®ã¿ã€ã ã©ã€ã³ã¯å¿ èŠãããŸãã-ããžãã¯ã¯ãŒã[mon]ãæå®ããã€ã³ã¿ãŒãã§ã€ã¹ããã®ICMPå¿çãšããŒã¿ãåžžã«ååšããŸã
ãããã«
å®å®æ§ã ã·ã¹ãã ã®å¯äžã®é倧ãªã°ãªããã¯ãããããç§é害ãã®éã«æ€åºãããŸããã ãããŠãOpenNMSèªäœã§ã¯ãªããããŒã¿ããŒã¹ã·ã¹ãã ã«åœ±é¿ããŸããã ãã以å€ã®å Žåãæ°å¹Žéã®å®å®æ§ã«å¯Ÿããäžæºã¯ãããŸããã
è€éã ã·ã¹ãã ã¯è€éã§è€éã§ãã ãµããŒãã®èŠ³ç¹ãã䜿çšããã®ã¯ç°¡åã§ã-ãã¹ãŠãçŸãããæ確ã§ãããiPhone [x]ã®ã¯ã©ã€ã¢ã³ãããããŸãã ãããããã¥ãŒãã³ã°ããã»ã¹ïŒç¹ã«åããŠïŒã¯ãå€ãã®ç¥çµçŽ°èãç°¡åã«çããããšãã§ããŸãã ããã¥ã¡ã³ãã¯ã·ã¹ãã ã®åºæ¬çãªåŽé¢ã®ã»ãŒãã¹ãŠãã«ããŒããŠããŸãããäžå¿«ãªæ©èœã«æ³šç®ãã䟡å€ããããŸããå€ãã®èšäºã«ã¯ä»¥åã®ããŒãžã§ã³ã«é¢ããæ å ±ãå«ãŸããŠããŸãã è«ççã«ã¯ããã®çç±ã¯ç解ã§ããŸãããã®ãããªçµ±åã·ã¹ãã ã®é¢é£æ§ãç¶æããããšã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããã ããããããã¯ç§ãã¡ã®ç掻ããŸã£ããç°¡çŽ åããŸããã
æè»æ§ã ã·ã¹ãã ãç解ããããã€ãã³ããã©ããŒãããã³ç£èŠçšã¢ãžã¥ãŒã«ãæ¥ç¶ã§ããŸãã æ©åšãSNMPãŸãã¯HTTPãä»ããŠãã©ã¡ãŒã¿ãæäŸããå Žåãç£èŠããããšãã§ããŸãã RRDã®ããŒã¿ã¹ãã¬ãŒãžã䜿çšãããšãéåžžã®RRDToolæ§æã§ã°ã©ãã®å€èŠ³ãæè»ã«ã«ã¹ã¿ãã€ãºããããšãã§ããŸãïŒããã©ã«ãã§ã¯ãèŠæ ãããããããŸããïŒã ãããå€ãè¶ ãããšãéç¥ãšã¢ã©ãŒã ã®åœ¢åŒã§åŠçãããŸãã å€éšã·ã¹ãã ã¯ãOpenNMSããReSTãä»ããŠããŸãã¯ããŒã¿ããŒã¹ããçŽæ¥ããŒã¿ãåä¿¡ã§ããŸãã

ããªãã·ã¹ãã åïŒ ã§ã¯ãªãã®ãïŒããšãã質åã«çããããšã¯ã§ããŸãããç°ãªãç£èŠã·ã¹ãã ã®æ¯èŒåæã¯æå³çã«è¡ããŸããã§ãããä»äºã«æéãããããããŸãã ã·ã¹ãã èªäœã«é¢ãã質åã«åãã§ãçãããŸãããããã¯ãå€ããå°ãªããé¢é£ããŠããå Žåã¯ããã®å ¥éè³æã®äžã§ãŠãŒã¶ãŒã±ãŒã¹ã®äŸãäœæã§ããŸãã