Introduction
IT Operations Management (ITOM) is a critical component of modern enterprise IT infrastructure, enabling organizations to efficiently manage and optimize their IT operations. ServiceNow’s ITOM suite offers a comprehensive set of applications designed to streamline IT processes, improve visibility, and enhance overall operational efficiency. This article provides an in-depth exploration of ServiceNow ITOM implementation, covering each application, its components, usage scenarios, and best practices.
ServiceNow Discovery
Introduction
ServiceNow Discovery is an automated process that identifies and maps IT infrastructure components, populating the Configuration Management Database (CMDB) with accurate and up-to-date information.
How to Use It
To implement Discovery:
- Configure Discovery schedules in the “Discovery Schedules” module.
- Set up credentials for target systems in the “Credentials” module.
- Define Discovery patterns in the “Patterns” module.
- Run Discovery jobs and monitor results in the “Discovery Status” module.
When to Use It
Use Discovery when:
- Setting up a new CMDB
- Regularly updating existing CMDB data
- After significant infrastructure changes
Components
- Discovery Schedules
- Credentials
- Patterns
- Probes and Sensors
- Discovery Status
Code Example (Discovery Schedule):
var schedule = new GlideRecord('discovery_schedule');
schedule.initialize();
schedule.name = 'Weekly Infrastructure Scan';
schedule.discovery_schedule = '0 0 * * 0'; // Run every Sunday at midnight
schedule.active = true;
schedule.insert();Best Practices
- Start with a small subset of your infrastructure and gradually expand
- Regularly review and update Discovery patterns
- Use MID Servers for secure Discovery across network boundaries
Service Mapping
Introduction
Service Mapping automatically discovers and maps relationships between IT components and business services, providing a visual representation of service dependencies.
How to Use It
To implement Service Mapping:
- Define top-level services in the “Service Mapping” module.
- Configure entry points for each service.
- Run Service Mapping jobs to discover and map dependencies.
- Review and validate service maps.
When to Use It
Use Service Mapping when:
- Implementing a service-oriented CMDB
- Performing impact analysis for changes or incidents
- Improving visibility into service dependencies
Components
- Service Maps
- Entry Points
- Patterns
- Service Mapping Dashboard
Code Example (Creating a Service):
var service = new GlideRecord('cmdb_ci_service');
service.initialize();
service.name = 'Email Service';
service.short_description = 'Corporate email service';
service.insert();
var entryPoint = new GlideRecord('sm_entry_point');
entryPoint.initialize();
entryPoint.name = 'Email Server';
entryPoint.discovery_schedule = 'Weekly Infrastructure Scan';
entryPoint.service = service.sys_id;
entryPoint.insert();Best Practices
- Start with critical business services
- Regularly review and update service maps
- Use custom patterns for complex or unique applications
Event Management
Introduction
Event Management collects, correlates, and analyzes events from various sources to identify and prioritize incidents and issues.
How to Use It
To implement Event Management:
- Configure event sources in the “Event Management” module.
- Set up event rules for correlation and filtering.
- Define alert conditions and notifications.
- Monitor the Event Management dashboard for actionable insights.
When to Use It
Use Event Management when:
- Implementing proactive incident management
- Reducing alert noise and false positives
- Improving mean time to resolution (MTTR)
Components
- Event Sources
- Event Rules
- Alert Conditions
- Event Management Dashboard
Code Example (Creating an Event Rule):
var rule = new GlideRecord('em_event_rule');
rule.initialize();
rule.name = 'High CPU Usage Alert';
rule.condition = 'source == "ServerMonitor" && metric == "CPU" && value > 90';
rule.action = 'create_incident';
rule.active = true;
rule.insert();Best Practices
- Start with a few critical event sources and gradually expand
- Regularly review and refine event rules
- Use machine learning capabilities for advanced event correlation
Operational Intelligence
Introduction
Operational Intelligence provides advanced analytics and machine learning capabilities to predict and prevent service outages and performance issues.
How to Use It
To implement Operational Intelligence:
- Configure data sources in the “Operational Intelligence” module.
- Set up anomaly detection rules.
- Create predictive models for key performance indicators (KPIs).
- Monitor the Operational Intelligence dashboard for insights and recommendations.
When to Use It
Use Operational Intelligence when:
- Implementing predictive maintenance
- Optimizing resource allocation
- Improving overall service reliability
Components
- Data Sources
- Anomaly Detection Rules
- Predictive Models
- Operational Intelligence Dashboard
Code Example (Creating an Anomaly Detection Rule):
var rule = new GlideRecord('oi_anomaly_rule');
rule.initialize();
rule.name = 'Unusual Network Traffic';
rule.metric = 'network_throughput';
rule.threshold = 3; // Standard deviations from normal
rule.time_window = 3600; // 1 hour
rule.active = true;
rule.insert();Best Practices
- Start with a few key metrics and gradually expand
- Regularly review and refine anomaly detection rules
- Integrate insights with incident management processes
Cloud Management
Introduction
Cloud Management provides tools for managing and optimizing cloud resources across multiple providers and environments.
How to Use It
To implement Cloud Management:
- Configure cloud accounts in the “Cloud Management” module.
- Set up cloud policies for governance and compliance.
- Create cloud service catalogs for self-service provisioning.
- Monitor cloud usage and costs through the Cloud Management dashboard.
When to Use It
Use Cloud Management when:
- Managing multi-cloud environments
- Implementing cloud governance and cost optimization
- Enabling self-service cloud resource provisioning
Components
- Cloud Accounts
- Cloud Policies
- Cloud Service Catalogs
- Cloud Management Dashboard
Code Example (Creating a Cloud Policy):
var policy = new GlideRecord('cloud_policy');
policy.initialize();
policy.name = 'Enforce Instance Tagging';
policy.cloud_provider = 'AWS';
policy.script = 'if (instance.tags.isEmpty()) { return false; }';
policy.active = true;
policy.insert();Best Practices
- Implement a tagging strategy for cloud resources
- Regularly review and optimize cloud costs
- Use automation for cloud governance enforcement
Configuration Management Database (CMDB)
Introduction
The CMDB serves as the central repository for all configuration items (CIs) and their relationships, providing a single source of truth for IT asset and service information.
How to Use It
To implement CMDB:
- Define CI classes and attributes in the “Dictionary” module.
- Populate the CMDB using Discovery and Service Mapping.
- Implement data quality rules and processes.
- Use the CMDB for impact analysis and change management.
When to Use It
Use CMDB when:
- Implementing ITIL processes
- Performing impact analysis for changes or incidents
- Improving visibility into IT infrastructure and services
Components
- CI Classes
- Relationships
- Data Quality Rules
- CMDB Health Dashboard
Code Example (Creating a Custom CI Class):
var ciClass = new GlideRecord('sys_db_object');
ciClass.initialize();
ciClass.name = 'x_custom_application';
ciClass.label = 'Custom Application';
ciClass.extensible = true;
ciClass.access = 'public';
ciClass.insert();
var ciAttribute = new GlideRecord('sys_dictionary');
ciAttribute.initialize();
ciAttribute.name = 'x_custom_application';
ciAttribute.element = 'version';
ciAttribute.column_label = 'Version';
ciAttribute.type = 'string';
ciAttribute.insert();Best Practices
- Implement a clear CI naming convention
- Regularly audit and clean CMDB data
- Use automation to maintain CMDB accuracy
Orchestration
Introduction
Orchestration enables the automation of complex IT processes and workflows across multiple systems and applications.
How to Use It
To implement Orchestration:
- Design workflows in the “Orchestration” module.
- Create activities for each step in the workflow.
- Configure inputs, outputs, and variables for activities.
- Test and deploy orchestration workflows.
When to Use It
Use Orchestration when:
- Automating complex, multi-step processes
- Integrating ServiceNow with external systems
- Implementing self-service IT operations
Components
- Workflows
- Activities
- Variables
- Orchestration Dashboard
Code Example (Creating an Orchestration Workflow):
var workflow = new GlideRecord('sys_hub_flow');
workflow.initialize();
workflow.name = 'Provision New Employee';
workflow.description = 'Automate new employee onboarding process';
workflow.insert();
var activity = new GlideRecord('sys_hub_action_instance');
activity.initialize();
activity.name = 'Create AD Account';
activity.action_name = 'x_custom.create_ad_account';
activity.flow = workflow.sys_id;
activity.insert();Best Practices
- Start with simple workflows and gradually increase complexity
- Use version control for orchestration workflows
- Implement error handling and logging in workflows
Agent Intelligence
Introduction
Agent Intelligence uses machine learning to automate ticket categorization, assignment, and resolution, improving the efficiency of IT support processes.
How to Use It
To implement Agent Intelligence:
- Configure data sources in the “Agent Intelligence” module.
- Train machine learning models for ticket categorization and assignment.
- Set up automated actions based on predictions.
- Monitor and refine model performance over time.
When to Use It
Use Agent Intelligence when:
- Improving ticket routing and assignment accuracy
- Reducing mean time to resolution (MTTR)
- Implementing self-service IT support
Components
- Data Sources
- Machine Learning Models
- Automated Actions
- Performance Dashboard
Code Example (Configuring a Machine Learning Model):
var model = new GlideRecord('ml_capability');
model.initialize();
model.name = 'Incident Categorization';
model.table = 'incident';
model.field = 'category';
model.capability_type = 'classification';
model.active = true;
model.insert();
var training = new GlideRecord('ml_training_job');
training.initialize();
training.capability = model.sys_id;
training.insert();Best Practices
- Start with a subset of tickets for initial training
- Regularly review and retrain models
- Implement human oversight for critical predictions
Health Log Analytics
Introduction
Health Log Analytics provides advanced log analysis capabilities to identify patterns, anomalies, and potential issues across IT infrastructure and applications.
How to Use It
To implement Health Log Analytics:
- Configure log sources in the “Health Log Analytics” module.
- Set up log parsing rules and filters.
- Create dashboards and alerts for key log patterns.
- Use machine learning for anomaly detection in logs.
When to Use It
Use Health Log Analytics when:
- Implementing proactive issue detection
- Performing root cause analysis for incidents
- Improving overall system reliability and performance
Components
- Log Sources
- Parsing Rules
- Dashboards and Alerts
- Anomaly Detection
Code Example (Creating a Log Parsing Rule):
var rule = new GlideRecord('sn_hla_rule');
rule.initialize();
rule.name = 'Application Error Detection';
rule.pattern = '(?i)error|exception|failure';
rule.source = 'application_logs';
rule.active = true;
rule.insert();Best Practices
- Start with critical log sources and gradually expand
- Use machine learning for advanced pattern recognition
- Integrate log analysis with incident management processes
Cloud Insights
Introduction
Cloud Insights provides deep visibility into cloud infrastructure performance, usage, and costs across multiple cloud providers.
How to Use It
To implement Cloud Insights:
- Configure cloud accounts in the “Cloud Insights” module.
- Set up data collection for cloud resources and services.
- Create dashboards for monitoring cloud performance and costs.
- Implement alerts for anomalies and threshold violations.
When to Use It
Use Cloud Insights when:
- Optimizing cloud resource utilization
- Implementing cloud cost management
- Improving cloud application performance
Components
- Cloud Accounts
- Data Collectors
- Dashboards and Reports
- Alerts and Recommendations
Code Example (Creating a Cloud Cost Alert):
var alert = new GlideRecord('cloud_insights_alert');
alert.initialize();
alert.name = 'High Cloud Spend Alert';
alert.condition = 'daily_cost > 1000';
alert.notification_group = 'Cloud Admins';
alert.active = true;
alert.insert();Best Practices
- Implement a comprehensive tagging strategy for cloud resources
- Regularly review and optimize cloud resource allocation
- Use automation for cost optimization recommendations
Conclusion
ServiceNow ITOM implementation offers a powerful suite of applications designed to streamline IT operations, improve visibility, and enhance overall operational efficiency. By leveraging these tools effectively, organizations can significantly reduce costs, save time, and optimize resource utilization.
Key benefits of ITOM implementation include:
- Improved visibility into IT infrastructure and services
- Enhanced incident prevention and faster resolution
- Optimized resource allocation and cost management
- Increased automation of IT processes
- Better alignment between IT and business objectives
To maximize the value of ServiceNow ITOM, organizations should:
- Start with a clear implementation strategy and roadmap
- Focus on quick wins to demonstrate value early
- Continuously refine and optimize ITOM processes
- Invest in training and change management
- Leverage ServiceNow’s extensive ecosystem of partners and integrations
By following these best practices and leveraging the full capabilities of ServiceNow ITOM, businesses can achieve significant improvements in their IT operations, leading to enhanced service quality, reduced costs, and increased agility in responding to business needs.

