FCP_FAZ_AN-7.6 Practice Test Questions

66 Questions


Which statement describes archive logs on FortiAnalyzer?


A. Logs that are indexed and stored in the SQL database


B. Logs a FortiAnalyzer administrator can access in FortiView


C. Logs compressed and saved in files with the .gz extension


D. Logs previously collected from devices that are offline





C.
  Logs compressed and saved in files with the .gz extension

Explanation:

Archive logs are FortiAnalyzer's way of storing historical log data for long-term retention. Think of them as compressed backup files that free up database resources while keeping your data accessible for compliance, forensics, or historical analysis.

✅ C. Logs compressed and saved in files with the .gz extension
This is correct. When FortiAnalyzer archives logs, it compresses them into .gz (gzip) files and stores them on disk. This compression drastically reduces storage space while preserving the data. Archive logs are moved out of the active SQL database but remain retrievable when you need them for searches, reports, or investigations. The archiving process is automatic based on your configured retention policies. Once logs age out of the SQL database, they get compressed and archived. You can still search these archived logs, but queries take longer since FortiAnalyzer has to decompress and parse the files instead of hitting the indexed database.

❌ A. Logs that are indexed and stored in the SQL database
Wrong. This describes active logs, not archive logs. Active logs live in the SQL database where they're indexed for fast searching and real-time analysis. Archive logs have already left the SQL database—they've been compressed and moved to file storage. That's the whole point of archiving: to clear out the database while keeping historical data available.

❌ B. Logs a FortiAnalyzer administrator can access in FortiView
Wrong. FortiView works with active logs in the SQL database, not archived logs. FortiView needs indexed, queryable data for its real-time dashboards and visualizations. While you can search archived logs through other interfaces, FortiView specifically pulls from the active database for performance reasons. Once logs are archived, they're outside FortiView's scope.

❌ D. Logs previously collected from devices that are offline
Wrong. Archive logs have nothing to do with device online/offline status. This is a common misconception. Archiving happens based on time and retention policies, not device connectivity. Whether a FortiGate is online, offline, deleted, or replaced, its logs get archived according to the same age-based rules. Device status doesn't trigger or prevent archiving.

Reference:
https://docs.fortinet.com

(Refer to the exhibit.)


Which statement about the displayed event is correct? (Choose one answer))


A. The security risk was dropped.


B. The risk source is isolated.


C. The security risk was blocked.


D. The security event risk is from an application control log.





C.
  The security risk was blocked.

Explanation:

FortiAnalyzer captures and displays security events from FortiGate logs, categorizing them by risk levels like low, medium, or high based on predefined event handlers. These events highlight potential threats, such as blocked web requests to suspicious sites, helping admins quickly spot and respond to risks without digging through raw logs. ​

Correct Answer

✅ C. The security risk was blocked.
This nails it because the event description explicitly reads "Web request to suspicious destination 10.0.3.20 blocked," confirming the action taken by the FortiGate's web filter policy. The "Medium" severity aligns with a proactive block on a risky URL, and the event status shows it's actively monitored in FortiAnalyzer-exactly how these systems log enforced security actions to prevent threats from succeeding.

Why Others Are Wrong

❌ A. The security risk was dropped.
Not quite—dropping typically refers to packet-level discards (like in DoS policies), but here the log specifies "blocked," which is the web filter's term for denying the full HTTP request after inspection. A common mix-up is confusing drop (silent discard) with block (explicit denial, often with a replacement page). ​

❌ B. The risk source is isolated.
Nope, there's zero mention of isolation, which FortiAnalyzer would flag via a separate event type (like from endpoint quarantine or FortiClient integration). Isolation actions show explicit status changes for devices/users; this is purely a web access block, no quarantine involved. ​

❌ D. The security event risk is from an application control log.
Off target—this event type is clearly "Web Filter" (right in the exhibit), not application control, which handles app signatures like P2P or social media. Folks sometimes blur these since both are security profiles, but the labels and descriptions keep them distinct in logs. ​

Reference:
https://docs.fortinet.com/product/fortianalyzer/7.6

Exhibit.

What can you conclude from this output?


A. There is not disk quota allocated to quarantining files.


B. FGT_B is the Security Fabric root.


C. The allocated disk quote to ADOM1 is 3 GB.


D. Archive logs are using more space than analytic logs.





B.
  FGT_B is the Security Fabric root.

Explanation:
The output shows two logging devices:
✔️ One listed simply as FGT-A with a normal serial number (FGT...7744).
✔️ The other listed as FSMSH followed immediately by the serial number for FGT-B (FSMSH...0462).
That FSMSH prefix isn't something we see on every device. What might a special prefix like that tell us in the context of FortiAnalyzer when it's collecting logs from a Security Fabric environment?
Think about how FortiAnalyzer identifies and displays devices that participate in the Security Fabric. In a Fabric setup, one FortiGate holds a unique leadership role. Does FortiAnalyzer use any distinctive marker in diagnostic outputs (like diagnose log device) to show which device is that central point?

Now, let's walk through each choice carefully, asking ourselves what the evidence directly supports:

A. There is not disk quota allocated to quarantining files. ❌
Look closely at the columns—especially around "quarantine / content / IPS". We see values like 0.00GB / 0.00GB (0.00%) or very small numbers. But zero used space doesn't automatically mean zero allocated quota. The output might show a quota limit if one were set (or "unlimited" explicitly). Here it appears more like the quota exists but hasn't been consumed yet. A common misconception is assuming "nothing used = nothing allowed"—but FortiAnalyzer can have quotas defined without immediate usage.

B. FGT_B is the Security Fabric root. ✅
The standout clue is that only FGT-B has the FSMSH prefix before its serial number. In FortiAnalyzer's log-device views (especially in Fabric-integrated setups), this prefix is a known indicator that the device is the Security Fabric root FortiGate—the central hub managing the topology. Regular member FortiGates (like FGT-A) appear without it. This is one of those subtle but reliable tells in real-world and exam scenarios. Does seeing that prefix on FGT-B feel like solid evidence of its special role?

C. The allocated disk quota to ADOM1 is 3 GB. ❌
Scan the bottom section for any ADOM-related line. We see totals and per-device quotas, but nothing explicitly states "ADOM1" with exactly 3 GB (or 3072 MB) allocated. The numbers shown (e.g., various MB/GB values, "unlimited" in places) don't match 3 GB precisely for an ADOM. A frequent mix-up here is confusing per-device quotas or total used space with an ADOM-level allocation—always check for the exact wording and value.

D. Archive logs are using more space than analytic logs. ❌
Compare the Used values under the archive-related columns versus the analytic/logs columns for each device. In most entries, analytic logs appear to consume noticeably more space (look at percentages and GB figures). Archive usage is often lower or comparable at best—not consistently higher. People sometimes reverse these categories because "archive" sounds long-term and bigger, but in practice, analytic (indexed for fast searching/reporting) usually takes the lion's share early on.

Reference:
https://docs.fortinet.com/product/fortianalyzer

Which statement about exporting items in Report Definitions is true?


A. Templates can be exported.


B. Template exports contain associated charts and datasets.


C. Chart exports contain associated datasets.


D. Datasets can be exported.





C.
  Chart exports contain associated datasets.

Explanation:
This question tests your understanding of export behavior in FortiAnalyzer report definitions, specifically how templates, charts, and datasets relate to each other during export. The key idea is that exports are limited and hierarchical. Some objects can be exported, and some cannot. When an object is exportable, it may or may not include its dependent components. Knowing exactly what gets bundled is critical for managing reports across FortiAnalyzer systems.

✅ Correct Answer: C. Chart exports contain associated datasets
Charts are exportable objects in FortiAnalyzer, and when you export a chart, its associated dataset is automatically included. This is intentional because a chart cannot function without the dataset that defines the underlying query. FortiAnalyzer preserves that dependency during export so the chart remains usable when imported elsewhere.
This is the only export scenario in Report Definitions where dependencies are bundled.

❌ Incorrect Options

A. Templates can be exported.
Templates cannot be exported from Report Definitions. This is a common assumption because templates look like high-level, reusable objects. In reality, templates are tightly bound to the local FortiAnalyzer environment and must be recreated manually on another system.
➡️ Common misconception: People assume templates behave like charts because they reference other objects. They do not.

B. Template exports contain associated charts and datasets.
This option is doubly wrong:
🔹 Templates cannot be exported at all.
🔹 Even if they could, FortiAnalyzer does not support exporting a full dependency tree (template → charts → datasets).
This choice is designed to catch anyone assuming FortiAnalyzer supports “full report portability.” It does not.

D. Datasets can be exported.
Datasets cannot be exported on their own. They are internal components meant to be reused locally. The only time a dataset leaves the system is when it is implicitly included in a chart export, as described in option C.
➡️ Trap to avoid: Thinking of datasets as standalone, reusable objects across systems. They are not.

Reference
Fortinet Documentation

Exhibit.

What can you conclude about these search results? (Choose two.)


A. They can be downloaded to a file.


B. They are sortable by columns and customizable.


C. They are not available for analysis in FortiView.


D. They were searched by using textmode.





A.
  They can be downloaded to a file.

D.
  They were searched by using textmode.

Explanation:
✅ A. They can be downloaded to a file.
This is correct. In virtually every view within FortiAnalyzer where log data is displayed—including a raw text view like this—there is an option (typically an icon with a down arrow or in a menu) to export or download the currently displayed results. This is a core functionality for sharing evidence or performing offline analysis.

✅ D. They were searched by using text mode.
This is correct. The exhibit clearly shows the raw, text-based output of a log search. FortiAnalyzer's Log View provides two primary search modes:
→ Text Mode: Where you enter raw log syntax (like date>=2023-12-05) and the results are displayed in the plain-text format we see here.
→ GUI (Form) Mode: Where you fill out a form with fields (source IP, action, etc.) and the results are displayed in a structured, column-based table.
The display format in the question is the definitive signature of a Text Mode search result.

❌ B. They are sortable by columns and customizable.
This is incorrect. The displayed results are plain text lines, not a columnar table. While you can perform the search in Text Mode and then switch the results view to a column-based table (often called "FortiView" format), the exhibit as shown does not demonstrate that capability. The statement describes the behavior of the GUI/Form Mode results view or the FortiView widget interface, not this raw text output.

❌ C. They are not available for analysis in Forti View.
This is incorrect and represents a common misconception. This statement gets the relationship backwards. The logs displayed here are absolutely available for analysis in Forti View. Forti View is a collection of dynamic, visual dashboards (like Threat View, Application View, etc.) that are powered by the exact same log data shown in this raw search. Performing a text search does not remove or hide the data from Forti View. All ingested and indexed logs can be analyzed in both the Log View (in text or GUI mode) and the various Forti View pages.

Reference
Official Fortinet Documentation

An analyst is using FortiAI on FortiAnalyzer to simplify certain tasks but is worried about exceeding the monthly token limit. Which query will take the fewest FortiAI tokens? (Choose one answer)


A. Show logs for 192.168.1.10 (past week)


B. Show all logs from the past week


C. Can you show me all the log entries for the endpoint 192.168.1.10?


D. Show logs for 192.168.1.10





A.
  Show logs for 192.168.1.10 (past week)

Explanation:

When using FortiAI in FortiAnalyzer 7.6, think of tokens like fuel for your AI assistant. Every word you type (the input) and every word the AI sends back (the output) consumes a portion of your monthly "fuel tank." To be efficient, you want to use the smallest possible amount of text that still provides enough context for the AI to understand exactly what you need.
In the world of Generative AI, concise and filtered prompts are the gold standard for saving tokens.

The Breakdown

✅ Option A: Show logs for 192.168.1.10 (past week) This is the most efficient query. It is concise (minimal "filler" words) and specific (includes both an IP address and a time range filter). By specifying "(past week)," you tell the AI exactly which logs to look for, which reduces the amount of processing (input tokens) and prevents the AI from trying to summarize a massive, unfiltered dataset (output tokens).

❌ Option B: Show all logs from the past week While this is relatively short, it is too broad. Asking for "all logs" can trigger a massive output response from the AI as it attempts to process every single log entry from every device for the entire week. Even if the input tokens are low, the output tokens would likely be very high, quickly draining your monthly limit.

❌ Option C: Can you show me all the log entries for the endpoint 192.168.1.10? This is a "conversational" prompt. While polite, phrases like "Can you show me all the..." are considered filler text. In a token-based system, you are paying for every "the," "can," and "you." Additionally, because it doesn't specify a time range, the AI might scan the entire database, leading to a much larger output than needed.

❌ Option D: Show logs for 192.168.1.10 This prompt is concise, but it lacks a time filter. Without a filter like "(past week)" or "(today)," the AI doesn't know the scope of the search. This often results in the AI either asking for clarification (using more tokens for a second turn) or returning a much larger historical data set than you actually wanted.

Teacher's Tip for the Exam
To save tokens on the FCP_FAZ_AN-7.6 exam and in real-world practice, follow the "Filter First" rule:
🔹 Be Concise: Use direct commands instead of questions.
🔹 Be Specific: Always include a time range or a specific device/IP.
🔹 Use Keywords: Words like "Show logs" or "Generate report" map directly to FortiAnalyzer functions, making it easier for the AI to work efficiently.

Reference
Fortinet Document Library

After generating a report, you notice the information you where expecting to see is not included in it. However, you confirm that the logs are there.


A. Check the time frame covered by thereport.


B. Disable auto-cache.


C. Increase the report utilization quota.


D. Test the dataset





A.
  Check the time frame covered by thereport.

D.
  Test the dataset

Explanation:

When you generate a report in FortiAnalyzer and find that expected data is missing—even though you’ve confirmed the logs exist—the issue usually lies not with data availability, but with how the report is configured or how it accesses that data. Two key troubleshooting steps involve verifying the time frame the report covers and ensuring the underlying dataset (which defines what data to include) is correctly set up and functional.

Correct Answers

✅ A. Check the time frame covered by the report.
Reports in FortiAnalyzer are strictly bound to the time range specified during configuration (e.g., last 24 hours, custom date range). If your logs fall outside this window—even by a few minutes—they won’t appear in the report, despite being present in the system. This is one of the most common oversights. Always double-check that the report’s time filter aligns with when the relevant logs were generated.

✅ D. Test the dataset.
A dataset defines what data is pulled into a report—such as specific log types, devices, or fields. If the dataset has incorrect filters (e.g., wrong device group, log type, or severity level), it may exclude the logs you expect to see. FortiAnalyzer allows you to test a dataset independently to preview its output. Doing so helps confirm whether the dataset logic is sound or needs adjustment.

Incorrect Answers

❌ B. Disable auto-cache.
Auto-cache in FortiAnalyzer speeds up report generation by storing precomputed results. While caching can sometimes cause delays in reflecting very recent data, it does not omit existing logs that fall within the correct time window and match the dataset criteria. Disabling auto-cache might slow down reports but won’t fix missing data caused by misconfiguration. This option addresses performance, not completeness.
💡 Common misconception: Some assume cached reports are “stale” and miss new logs—but if logs are confirmed present and within the report’s time frame, caching isn’t the culprit.

❌ C. Increase the report utilization quota.
The report utilization quota limits system resources (CPU, memory) used by report generation to prevent performance degradation. Hitting this quota might delay or cancel report generation, but it won’t selectively omit specific log entries while still producing a partial report. Since the report did generate (just without expected data), quota limits aren’t relevant here.
💡 Key insight: Quotas affect whether a report runs—not what data appears in it once it does run.

Reference
https://docs.fortinet.com/product/fortianalyzer/7.6

(Refer to the exhibit.



Which two observations can you make after reviewing this log entry? (Choose two answers))


A. This is a normalized log.


B. This is a formatted view of the log.


C. This is the original log that FortiAnalyzer received from FortiGate.


D. This log is in a raw log format.





A.
  This is a normalized log.

D.
  This log is in a raw log format.

Explanation:

This question tests whether you can identify different log formats that FortiAnalyzer handles. When logs arrive from FortiGate devices, FortiAnalyzer processes them in specific ways. The key is recognizing what "normalized" and "raw" actually mean in this context.

✅ A. This is a normalized log.
Correct. This log has been normalized by FortiAnalyzer. Normalization is the process where FortiAnalyzer takes logs from different Fortinet devices and standardizes them into a consistent format with predictable field names and structures.
Look at the log structure: you see standardized key-value pairs like devname=, logid=, type=, subtype=, eventtype=, etc. These consistent field names across different log types and devices are the hallmark of normalized logs. FortiAnalyzer does this so you can query and analyze logs uniformly, regardless of which device sent them.

✅ D. This log is in a raw log format.
Correct. Raw format means the log is presented as a single-line string with key-value pairs separated by spaces and special characters. This is the native format that FortiGate sends and FortiAnalyzer stores.
Raw logs look exactly like what you see here: a continuous string of field=value pairs. This format is efficient for storage and transmission but harder for humans to read. It's the opposite of a formatted or pretty-printed view where data would be organized into tables or structured layouts.

❌ B. This is a formatted view of the log.
Wrong. A formatted view would present the log data in a human-readable structure like a table with columns and rows, or organized sections with labels. What you're seeing here is the raw string format—just a long line of key-value pairs mashed together.
When you view logs in FortiAnalyzer's GUI in "formatted view," it breaks out fields into separate columns or sections. This exhibit is definitely not that. It's the raw text string, which is harder to parse visually but closer to how the data is actually stored.

❌ C. This is the original log that FortiAnalyzer received from FortiGate.
Wrong. This is not the original log as it came from FortiGate. While it looks raw, FortiAnalyzer has already normalized it. The original log from FortiGate might have slightly different field names or structures depending on the FortiOS version and log type.
FortiAnalyzer processes incoming logs and normalizes them into its own schema before storage. So what you're seeing is post-normalization but still in raw format (not formatted for display). The normalization happened, but the presentation is still raw text.

Reference
https://docs.fortinet.com

Exhibit.

Based on the partial outputs displayed, which devices can be members of a FotiAnalyzer Fabric?


A. FortiAnalayzer1 and FortiAnalyzer3


B. FortiAnalyzer1 and FortiAnalyzer2


C. FortiAnalyzer2 and FortiAnalyzer3


D. All devices listed can be members.





D.
  All devices listed can be members.

Explanation:

FortiAnalyzer's Security Fabric integration lets it connect with other Fortinet devices—like fellow FortiAnalyzers or FortiGates—in a fabric for centralized management, logging, and analytics. HA clusters count as single fabric nodes, but all listed units must show compatible Fabric Connector enablement and downstream roles to join seamlessly. ​

Correct Answer

✅ D. All devices listed can be members.
Spot on—the outputs confirm FortiAnalyzer1 (primary HA node), FortiAnalyzer2 (secondary HA node), and FortiAnalyzer3 (standalone) all have Security Fabric enabled with matching roles like "Downstream." HA pairs operate as one fabric entity, and the standalone unit shares the same Fabric Connector setup, allowing full fabric membership without conflicts. ​ ​

Why Others Are Wrong

❌ A. FortiAnalyzer1 and FortiAnalyzer3.
This overlooks FortiAnalyzer2, which is integral as the HA secondary—excluding it ignores how HA clusters function as unified fabric participants. A frequent pitfall is treating HA members separately rather than as a cohesive unit. ​

❌ B. FortiAnalyzer1 and FortiAnalyzer2.
Misses FortiAnalyzer3 entirely, despite its identical Fabric settings confirming eligibility. People often fixate on HA pairs alone, but fabric rules allow multiple analyzers to interconnect. ​

❌ C. FortiAnalyzer2 and FortiAnalyzer3.
Leaves out the primary HA node (FortiAnalyzer1), breaking the cluster logic since secondaries don't join fabrics independently. Misconception here: HA roles don't restrict fabric joins, but all must align. ​

Reference:
https://docs.fortinet.com/product/fortianalyzer/7.6

Refer to Exhibit:

Client-1 is trying to access the internet for web browsing.
All FortiGate devices in the topology are part of a Security Fabric with logging to FortiAnalyzer configured.
All firewall policies have logging enabled. All web filter profiles are configured to log only violations.
Which statement about the logging behavior for this specific traffic flow is true?


A. Only FGT-B will create traffic logs.


B. FGT-B will see the MAC address of FGT-A as the destination and notifies FGT-A to log this flow.


C. FGT B will create traffic logs and will create web filter logs if it detects a violation.


D. Only FGT-A will create web filter logs if it detects a violation.





D.
  Only FGT-A will create web filter logs if it detects a violation.

Explanation:

❌ A. Only FGT-B will create traffic logs.
Traffic logging (forward traffic logs) normally happens at each FortiGate that processes the session—especially since all policies have logging enabled. FGT-B would log the session as it enters and exits, and FGT-A would also generate its own traffic log after NAT. This option ignores FGT-A's role entirely. A common mix-up is thinking only the first device logs traffic, but in Fabric setups both typically do (though FortiAnalyzer correlates them smartly).

❌ B. FGT-B will see the MAC address of FGT-A as the destination and notifies FGT-A to log this flow.
This sounds like a creative guess, but FortiGates don't "notify" each other to create logs in that way for standard traffic flows. In the Security Fabric, devices share topology awareness (including MACs of directly connected peers), but logging responsibility isn't delegated like this. Traffic logs are generated locally by each device that handles the packets. No such notification mechanism exists for basic web traffic logging.

❌ C. FGT B will create traffic logs and will create web filter logs if it detects a violation.
FGT-B does create traffic logs (agreed—policies have logging enabled). But would FGT-B generate the web filter violation log? Here's the key reflection: since FGT-A (the root) is performing NAT, and web filtering typically needs to see the real destination URL/category before NAT obscures things, in standard Security Fabric outbound flows with downstream → root NAT, the deep content inspection (including web filter category blocking/violation) usually happens at the egress/root FortiGate that owns the public IP and performs NAT. FGT-B is more likely just routing/forwarding without applying the final web filter decision/logging. This is a subtle but frequent point of confusion in Fabric scenarios.

✅ D. Only FGT-A will create web filter logs if it detects a violation.
This aligns most closely with typical behavior in this exact topology. Because FGT-A is the NAT boundary and the final policy enforcement point before Internet egress, it performs the web filter inspection on the actual requested URL/category. If a violation occurs (e.g., blocked category), only FGT-A generates the web filter log (since profiles log violations only). FGT-B may apply its own policy and log traffic, but the violation-specific UTM log comes from the device that made the blocking decision—here, the root with NAT. FortiAnalyzer then correlates everything nicely across the Fabric. ​

Reference:
https://docs.fortinet.com/product/fortianalyzer

Refer to the exhibit.

What can you conclude about the output?


A. The low indexing values require investigation.


B. The output is not ADOM specific.


C. There are more event logs thantraffic logs.


D. The log rate higher than the message rate is not normal.





D.
  The log rate higher than the message rate is not normal.

Explanation:

This question checks whether you understand the relationship between log rate and message rate in FortiAnalyzer diagnostics. These two values are closely related and normally track each other. When they don’t, it can indicate a problem in the logging pipeline. The exhibit shows a clear imbalance, and the question asks what conclusion you can reasonably draw from that.

✅ Correct Answer: D. The log rate higher than the message rate is not normal
In a healthy FortiAnalyzer system, the message rate should be equal to or higher than the log rate, because:
🔹 Messages are processed internally by fortilogd
🔹 Logs are the resulting records written after processing
If the log rate is significantly higher than the message rate, as shown in the output, this is abnormal. It suggests that logs are being generated or counted faster than messages are being processed, which can point to processing inconsistencies, backlog issues, or abnormal behavior in the logging subsystem.
This mismatch is exactly what the diagnostic output is highlighting, and it warrants attention.

❌ Incorrect Options

A. The low indexing values require investigation.
Indexing is not shown in this output at all. The commands used (diagnose fortilogd lograte and diagnose fortilogd msgrate) report rates, not indexing performance. Drawing conclusions about indexing here is unsupported.

B. The output is not ADOM specific.
While it’s true that these commands are global diagnostics, that is not the key takeaway from the exhibit. The question asks what you can conclude about the output itself, not the scope of the command. This option is technically irrelevant to the observed issue.

C. There are more event logs than traffic logs.
Nothing in the output differentiates event logs vs traffic logs. The diagnostics only show aggregate message and log rates. Choosing this option means inventing data that is simply not present. ​

Reference:
Fortinet Documentation

Which statement about SQL SELECT queries is true?


A. They can be used to purge log entries from the database.


B. They must be followed immediately by a WHEREclause.


C. They can be used to display the database schema.


D. They are not used in macros.





D.
  They are not used in macros.

Explanation:

✅ D. They are not used in macros.
This is the correct answer. Within FortiAnalyzer, macros are small, reusable pieces of pre-defined SQL logic, but they themselves are not full SELECT queries. Instead, macros are defined using the SELECT statement and then saved as a named object (like $src_ip). They are used within SELECT queries in reports or charts to simplify complex logic. You would insert a macro ($src_ip) into the SELECT clause of your main query. So, the complete SELECT query is the container, and the macro is a component inside it.
Think of it this way: You use a SELECT query to build and employ a macro, but the final saved macro isn't itself a standalone SELECT query you run. This is a subtle but important distinction in the FortiAnalyzer architecture.

❌ A. They can be used to purge log entries from the database.
This is incorrect. The SELECT statement is a Data Query Language (DQL) command. Its only function is to read or retrieve data from the database. It cannot modify or delete data. To purge or delete log entries, you would use a Data Manipulation Language (DML) command like DELETE. FortiAnalyzer intentionally restricts this capability to protect data integrity; log purging is typically done through administrative functions (like Archive & Purge) or automatic retention policies, not via direct SQL DELETE commands.

❌ B. They must be followed immediately by a WHERE clause.
This is incorrect. A WHERE clause is optional in a SELECT query. It is used to filter results. A basic, valid SELECT query could simply be:
SELECT datetime, srcip, action FROM $log
This would return all records from the log view. While WHERE is extremely common for filtering, it is not a syntactic requirement.

❌ C. They can be used to display the database schema.
This is a tricky one but incorrect in the FortiAnalyzer context. In standard SQL, you can use specialized SELECT queries on system tables (like information_schema) to discover the schema. However, FortiAnalyzer does not expose its underlying database schema in this way to users. The log database structure is abstracted through predefined log views (like $log, $traffic). Analysts write SELECT queries against these views, not against the raw database tables. Therefore, you cannot use a SELECT query in FortiAnalyzer's report editor to explore or display the internal schema. ​

Reference:
Official Fortinet Documentation


Page 1 out of 6 Pages