
Step-by-step guide to set up and work with alerts in AppDynamics (the screen you shared is the Alert & Respond โ Policies page).
0) How AppDynamics alerts are wired
- Health Rules: โwhat to watchโ (e.g., CPU > 85% for 5 min).
- Policies: โwhen/where to notifyโ (tie events like Health Rule Violation โ Opens/Closes to actions).
- Actions: โhow to notify/run somethingโ (email, HTTP webhook for Slack/PagerDuty/Jira, diagnostic dump, script).
- (Optional) Anomaly Detection: AppDโs ML events you can also alert on.
- Templates & Digests: re-usable message bodies and scheduled summary emails.
Youโll usually create Actions โ Health Rules โ Policies (in that order).
1) Prepare notifications
1.1 Configure email/SMS (once)
Alert & Respond โ Email / SMS Configuration
- Add SMTP server (host, port, auth, From address).
- (Optional) Add SMS provider if youโll send SMS.
1.2 Create actions youโll reuse
Alert & Respond โ Actions โ Create
- Email Action: Name โEmailโSRE On-Callโ, add recipients (team list), subject like
[AppD][${severity}] ${application} ${eventType}: ${summary}and use variables in the body (pick from UI). - HTTP Request Action (for Slack/PagerDuty/Jira): paste webhook URL, set method/headers, payload JSON using event variables (e.g.,
${eventMessage},${nodeName},${healthRuleName}). - Diagnostic/Remediation Actions (optional): thread dump, heap dump, start CPU profiling, or run script (requires Machine Agent with permissions).
Tip: keep action names generic (EmailโSRE, WebhookโSlack-#prod-alerts) so many policies can reuse them.
2) Define what โbadโ looks like (Health Rules)
Alert & Respond โ Health Rules โ Create
- Scope: pick the application (e.g., motoshare), then the entity type:
- Applications / Tiers & Nodes / Business Transactions / Databases / Servers / Containers, etc.
- Affects: choose All or a subset (tags/tiers/BTs).
- Conditions:
- Choose metric (Browse or paste Metric Path).
- Set Critical and optionally Warning thresholds.
- Evaluation: โX of last Y minutesโ (e.g., 5 of last 5).
- Static thresholds or dynamic/baseline (e.g., โ> 3ร baseline, min 50 req/minโ).
- Rolling up: โAllโ vs โAnyโ affected entities trigger.
- Re-arm: add a wait time (e.g., 10โ15 min) to avoid flapping.
- Save.
Fast starters (create a few common rules)
- CPU Hot (Tiers & Nodes): Hardware Resources|CPU|%Busy > 85% for 5 of 5 min (Critical), > 75% (Warning).
- Memory Pressure: Hardware Resources|Memory|%Used > 90% for 10 of 10 min.
- BT Slow (Business Transactions): Average Response Time > baseline + 3ฯ, min load โฅ 30 cpm, for 5 of 10 min.
- BT Errors: Errors per Minute > baseline + 2ฯ and Error % > 5% for 5 of 10 min.
- Container Restarts (if Server/Container visibility enabled): restarts > 0 in 10 min.
Keep rules separate for infrastructure vs. application to route to the right teams.
3) (Optional) Enable Anomaly Detection
Alert & Respond โ Anomaly Detection
- Turn on for your application/tiers/BTs.
- Choose sensitivity and minimum traffic.
- These generate โAnomaly Detectedโ events you can target in policies (useful when you donโt want to hand-tune thresholds).
4) Tie events to notifications (Policies)
You can use the Policy Setup Wizard (shown on your screen) or build manually.
4.1 Quick path: Policy Setup Wizard
Alert & Respond โ Policies โ Policy Setup Wizard
- Pick Event Types:
- Health Rule Violation โ Opens (and later add a second policy for Closes).
- (Optional) Anomaly Detected.
- Scope: select Application = motoshare (and narrow to tiers/BTs if needed).
- Action: attach โEmailโSRE On-Callโ, โWebhookโSlack-#prod-alertsโ, etc.
- Execution Settings:
- โTrigger only on Criticalโ (optional) to reduce noise.
- Add re-notification/cool-down (e.g., re-notify every 60 min while still violating).
- Review โ Create.
4.2 Manual path (more control)
Alert & Respond โ Policies โ Create Policy Manually
- Section 1: Events to Match
Add:- Health Rule Violation โ Opens (filter to your exact Health Rules if you want).
- (Optional) Health Rule Violation โ Closes in a separate โRecoveryโ policy.
- (Optional) Anomaly Detected / Server Crash / Resource Pool Limit Reached, etc.
- Section 2: Evaluation Scope
Application = motoshare, restrict entities if needed. - Section 3: Actions
Add your email/webhook/diagnostic actions.
Set Do not execute more than once every N minutes and wait times to control noise. - Section 4: Schedule/Suppression
Exclude maintenance windows or allow โpolicy is disabled during deploysโ. - Save.
Best practice: create two policies per health rule familyโAlert (Opens) and Recovery (Closes)โso teams know when things clear.
5) Test end-to-end
- Pick a rule thatโs easy to trigger (e.g., lower CPU threshold on a dev tier temporarily).
- Use Alert & Respond โ Policies โ (policy) โ Test/Preview if available, or apply load to trigger a BT rule.
- Confirm: event appears in Alert & Respond โ Events and notifications arrive in email/Slack/Jira.
6) Reduce noise and keep signals strong
- Prefer baselines for BT latency/error rules; add minimum load guards.
- Use โX of last Y minutesโ and re-arm times to avoid flapping.
- Route infra vs app alerts to different actions/recipients.
- Add maintenance windows for deploys.
- Use Email Digests for daily/weekly rollups; keep real-time policies for actionable issues.
- Review Top Talkers (which rules/policies fire the most) and tune monthly.
7) Example: three core policies you can add now
- App โ BT Slow (Critical) โ Slack + Email
Event: Health Rule Violation โ BT Slow (Critical) Opens โ Actions: Slack + Email. - Infra โ Node CPU (Critical) โ Email only
Event: Health Rule Violation โ CPU Hot Opens โ Action: EmailโSRE. - Recoveries โ All Critical Closes โ โgreenโ message
Event: Health Rule Violation โ Closes (filter to the two rules above) โ Actions: Slack โrecoveredโ + Email.
8) Nice-to-have add-ons
- HTTP Request Templates & Alerting Templates: standardize payloads/messages once, reuse everywhere.
- Mutual TLS Configuration: if your webhook target (e.g., internal gateway) requires client certs.
- Runbook links: include a URL in email/webhook pointing to a wiki playbook per alert.
- Auto-diagnostics: attach a thread dump or snapshot action to severe BT rules.
AppDynamics Health Rules + Policies (Starter Kit for motoshare)
1) Health Rules
๐น Node CPU Hot
- Scope: Tiers & Nodes โ All nodes in
motoshare - Critical: CPU % Busy > 85% for 5 of last 5 min
- Warning: CPU % Busy > 75% for 5 of last 5 min
- Re-arm: 10 min
๐น Node Memory Pressure
- Scope: Tiers & Nodes โ All nodes in
motoshare - Critical: Memory % Used > 90% for 10 of last 10 min
- Warning: Memory % Used > 80%
- Re-arm: 15 min
๐น Business Transaction โ Slow
- Scope: Business Transactions โ All BTs in
motoshare - Critical: Avg Response Time > Baseline + 3ฯ for โฅ 30 cpm traffic, 5 of 10 min
- Warning: Avg Response Time > Baseline + 2ฯ
- Re-arm: 10 min
๐น Business Transaction โ Errors
- Scope: Business Transactions โ All BTs in
motoshare - Critical: Error % > 5% AND Errors/min > 30, for 5 of 10 min
- Warning: Error % > 2%
- Re-arm: 10 min
๐น Container Restarts (if Server/Container visibility enabled)
- Scope: Containers in
motoshare - Critical: Restart Count > 0 in 10 min
- Re-arm: 20 min
2) Actions
Create these once under Alert & Respond โ Actions:
- EmailโSRE On-Call
- To: sre-team@motoshare.com
- Subject:
[AppD][${severity}] ${application} ${eventType}: ${summary} - Body: include
${healthRuleName},${nodeName},${eventMessage},${incidentID}
- Slackโ#alerts
- Type: HTTP Request Action
- URL: Slack Webhook
- JSON payload:
{ "text": "*[AppDynamics Alert]*nApp: ${application}nEvent: ${eventType}nRule: ${healthRuleName}nNode: ${nodeName}nMessage: ${eventMessage}nLink: ${eventLink}" }
3) Policies
๐น Policy 1: Infra โ Node CPU Critical
- Event: Health Rule Violation Opens โ โNode CPU Hotโ
- Action: EmailโSRE On-Call
- Rate Limit: Once every 15 min
๐น Policy 2: Infra โ Node Memory Critical
- Event: Health Rule Violation Opens โ โNode Memory Pressureโ
- Action: EmailโSRE On-Call
- Rate Limit: Once every 20 min
๐น Policy 3: App โ BT Slow
- Event: Health Rule Violation Opens โ โBT Slowโ
- Action: Slackโ#alerts + EmailโSRE On-Call
- Rate Limit: Once every 30 min
๐น Policy 4: App โ BT Errors
- Event: Health Rule Violation Opens โ โBT Errorsโ
- Action: Slackโ#alerts + EmailโSRE On-Call
- Rate Limit: Once every 30 min
๐น Policy 5: Recoveries
- Event: Health Rule Violation Closes (all above rules)
- Action: Slackโ#alerts (Recovery message)
- Rate Limit: Once every 15 min
4) Testing & Validation
- Temporarily lower thresholds (e.g., CPU > 5%) to trigger an alert.
- Check Alert & Respond โ Events for policy hits.
- Confirm notifications in Slack and email.
- Reset thresholds back to production values.
โ With this pack:
- Infra alerts (CPU, memory, container restarts) go to EmailโSRE.
- App-level issues (BT slow, BT errors) go to Slack + Email.
- Recovery events let the team know when itโs safe.
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services โ all in one place.
Explore Hospitals